{"id":510,"name":"androidx.work:work-runtime-ktx","ecosystem":"maven","repository_url":null,"issues_count":404,"created_at":"2025-06-06T15:01:34.961Z","updated_at":"2025-06-06T15:01:34.961Z","purl":"pkg:maven/androidx.work:work-runtime-ktx","unique_repositories_count":112,"unique_repositories_count_past_30_days":7,"recent_issues":[{"uuid":"4510516408","node_id":"PR_kwDOSGEGis7eupQt","number":948,"state":"open","title":"build(deps): Bump the minor-and-patch group with 38 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T04:44:39.000Z","updated_at":"2026-05-24T04:45:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"minor-and-patch","update_count":38,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.18.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.core:core-splashscreen","old_version":"1.0.1","new_version":"1.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.credentials:credentials","old_version":"1.3.0","new_version":"1.6.0"},{"name":"androidx.credentials:credentials-play-services-auth","old_version":"1.3.0","new_version":"1.6.0"},{"name":"com.google.android.libraries.identity.googleid:googleid","old_version":"1.1.1","new_version":"1.2.0"},{"name":"androidx.exifinterface:exifinterface","old_version":"1.3.7","new_version":"1.4.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.8"},{"name":"androidx.hilt:hilt-navigation-compose","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-compiler","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.2"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.github.jan-tennert.supabase:bom","old_version":"3.0.3","new_version":"3.6.0","repository_url":"https://github.com/supabase-community/supabase-kt"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.0.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.sqlite:sqlite","old_version":"2.4.0","new_version":"2.6.2"},{"name":"com.google.android.play:integrity","old_version":"1.4.0","new_version":"1.6.0"},{"name":"io.mockk:mockk","old_version":"1.13.13","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"org.robolectric:robolectric","old_version":"4.14.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"androidx.test:core","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.1.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.0","new_version":"2.1.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.0","new_version":"2.1.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.0-1.0.29","new_version":"2.1.21-2.0.2","repository_url":"https://github.com/google/ksp"},{"name":"com.google.gms.google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.firebase.crashlytics","old_version":"3.0.2","new_version":"3.0.7"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 38 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.18.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.core:core-splashscreen | `1.0.1` | `1.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| androidx.credentials:credentials | `1.3.0` | `1.6.0` |\n| androidx.credentials:credentials-play-services-auth | `1.3.0` | `1.6.0` |\n| com.google.android.libraries.identity.googleid:googleid | `1.1.1` | `1.2.0` |\n| androidx.exifinterface:exifinterface | `1.3.7` | `1.4.2` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.8` |\n| androidx.hilt:hilt-navigation-compose | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-compiler | `1.2.0` | `1.3.0` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| androidx.work:work-runtime-ktx | `2.10.0` | `2.11.2` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [io.github.jan-tennert.supabase:bom](https://github.com/supabase-community/supabase-kt) | `3.0.3` | `3.6.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.0.2` | `3.5.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| androidx.sqlite:sqlite | `2.4.0` | `2.6.2` |\n| com.google.android.play:integrity | `1.4.0` | `1.6.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.13` | `1.14.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.14.1` | `4.16.1` |\n| androidx.test:core | `1.6.1` | `1.7.0` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.1.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.1.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.1.21` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.0-1.0.29` | `2.1.21-2.0.2` |\n| com.google.gms.google-services | `4.4.2` | `4.4.4` |\n| com.google.firebase.crashlytics | `3.0.2` | `3.0.7` |\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.18.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.13.0\n\nUpdates `androidx.core:core-splashscreen` from 1.0.1 to 1.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\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/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.credentials:credentials` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `com.google.android.libraries.identity.googleid:googleid` from 1.1.1 to 1.2.0\n\nUpdates `androidx.exifinterface:exifinterface` from 1.3.7 to 1.4.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.8\n\nUpdates `androidx.hilt:hilt-navigation-compose` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-work` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.room:room-runtime` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.1\n\nUpdates `androidx.work:work-runtime-ktx` from 2.10.0 to 2.11.2\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.0 \u003ca href=\"https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker\"\u003eintroduces a new feature\u003c/a\u003e aimed at helping you to catch bugs related to the accidentally ignored return value of the function.\nkotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you can get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e. To get the warnings, the feature has to be enabled in your project as \u003ca href=\"https://kotlinlang.org/docs/unused-return-value-checker.html#configure-the-unused-return-value-checker\"\u003edescribed here\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ePolymorphism improvements\u003c/h2\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/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.10.0 / 2026-01-21\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\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/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.9.0...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.9.0...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/ganeshnaik166/equipseva-android/pull/948","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshnaik166%2Fequipseva-android/issues/948","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/948/packages"},{"uuid":"4508823602","node_id":"PR_kwDOSGEGis7eptsH","number":938,"state":"closed","title":"build(deps): Bump the minor-and-patch group with 46 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-23T16:09:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T16:06:46.000Z","updated_at":"2026-05-23T16:09:28.000Z","time_to_close":154,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"minor-and-patch","update_count":46,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.18.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.core:core-splashscreen","old_version":"1.0.1","new_version":"1.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.credentials:credentials","old_version":"1.3.0","new_version":"1.6.0"},{"name":"androidx.credentials:credentials-play-services-auth","old_version":"1.3.0","new_version":"1.6.0"},{"name":"com.google.android.libraries.identity.googleid:googleid","old_version":"1.1.1","new_version":"1.2.0"},{"name":"androidx.exifinterface:exifinterface","old_version":"1.3.7","new_version":"1.4.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.8"},{"name":"com.google.dagger:hilt-android","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-testing","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger.hilt.android","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-navigation-compose","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-compiler","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.2"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.github.jan-tennert.supabase:bom","old_version":"3.0.3","new_version":"3.6.0","repository_url":"https://github.com/supabase-community/supabase-kt"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.0.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.sqlite:sqlite","old_version":"2.4.0","new_version":"2.6.2"},{"name":"com.google.android.play:integrity","old_version":"1.4.0","new_version":"1.6.0"},{"name":"io.mockk:mockk","old_version":"1.13.13","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"org.robolectric:robolectric","old_version":"4.14.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"androidx.test:core","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"com.android.application","old_version":"8.7.3","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.0-1.0.29","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.google.gms.google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.firebase.crashlytics","old_version":"3.0.2","new_version":"3.0.7"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 46 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.18.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.core:core-splashscreen | `1.0.1` | `1.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.credentials:credentials | `1.3.0` | `1.6.0` |\n| androidx.credentials:credentials-play-services-auth | `1.3.0` | `1.6.0` |\n| com.google.android.libraries.identity.googleid:googleid | `1.1.1` | `1.2.0` |\n| androidx.exifinterface:exifinterface | `1.3.7` | `1.4.2` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.8` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-testing](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| [com.google.dagger.hilt.android](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| androidx.hilt:hilt-navigation-compose | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-compiler | `1.2.0` | `1.3.0` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| androidx.work:work-runtime-ktx | `2.10.0` | `2.11.2` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [io.github.jan-tennert.supabase:bom](https://github.com/supabase-community/supabase-kt) | `3.0.3` | `3.6.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.0.2` | `3.5.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| androidx.sqlite:sqlite | `2.4.0` | `2.6.2` |\n| com.google.android.play:integrity | `1.4.0` | `1.6.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.13` | `1.14.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.14.1` | `4.16.1` |\n| androidx.test:core | `1.6.1` | `1.7.0` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| com.android.application | `8.7.3` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.0-1.0.29` | `2.3.8` |\n| com.google.gms.google-services | `4.4.2` | `4.4.4` |\n| com.google.firebase.crashlytics | `3.0.2` | `3.0.7` |\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.18.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.13.0\n\nUpdates `androidx.core:core-splashscreen` from 1.0.1 to 1.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\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/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.credentials:credentials` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `com.google.android.libraries.identity.googleid:googleid` from 1.1.1 to 1.2.0\n\nUpdates `androidx.exifinterface:exifinterface` from 1.3.7 to 1.4.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.8\n\nUpdates `com.google.dagger:hilt-android` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android-compiler` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android-testing` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-testing's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger.hilt.android` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger.hilt.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android-compiler` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.hilt:hilt-navigation-compose` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-work` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.room:room-runtime` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.1\n\nUpdates `androidx.work:work-runtime-ktx` from 2.10.0 to 2.11.2\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.0 \u003ca href=\"https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker\"\u003eintroduces a new feature\u003c/a\u003e aimed at helping you to catch bugs related to the accidentally ignored return value of the function.\nkotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you can get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e. To get the warnings, the feature has to be enabled in your project as \u003ca href=\"https://kotlinlang.org/docs/unused-return-value-checker.html#configure-the-unused-return-value-checker\"\u003edescribed here\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ePolymorphism improvements\u003c/h2\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/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.10.0 / 2026-01-21\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\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/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ec...\n\n_Description has been truncated_","html_url":"https://github.com/ganeshnaik166/equipseva-android/pull/938","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshnaik166%2Fequipseva-android/issues/938","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/938/packages"},{"uuid":"4495750329","node_id":"PR_kwDOSkF_Ss7d_tSU","number":4,"state":"open","title":"chore(deps): Bump androidx.work:work-runtime-ktx from 2.9.0 to 2.11.2","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-21T15:19:29.000Z","updated_at":"2026-05-21T16:12:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.0","new_version":"2.11.2","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.9.0 to 2.11.2.\n","html_url":"https://github.com/estebancastelblanco/kmp-production-sample-v2/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebancastelblanco%2Fkmp-production-sample-v2/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4491465872","node_id":"PR_kwDOSjixS87dxu0l","number":2,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T09:57:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T03:23:20.000Z","updated_at":"2026-05-24T09:57:45.000Z","time_to_close":282856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.22"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.6","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.7"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.3.0","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha07"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.9","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.3","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.1"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.5.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.2.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.22` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.6` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.7` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.3.0` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha07` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.9` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.3` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.8` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.1` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\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/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.2.1\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.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!-- 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.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` from 2.0.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.0.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-serialization` from 2.0.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-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:kotlin-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.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.0.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!-- 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.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` from 2.0.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/...\n\n_Description has been truncated_","html_url":"https://github.com/Hanunnisasalsabila/IvyWallet_UserFirst/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanunnisasalsabila%2FIvyWallet_UserFirst/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4457338836","node_id":"PR_kwDOSJiM5s7cFmHZ","number":8,"state":"closed","title":"Bump the ivy-wallet group with 70 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T11:14:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-15T22:30:05.000Z","updated_at":"2026-05-20T11:14:26.000Z","time_to_close":391451,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":70,"packages":[{"name":"gradle-wrapper","old_version":"8.4","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.1.2","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"1.9.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"1.9.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"1.9.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.6","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.6.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.8","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.1","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.1","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.1","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-framework-datatest","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"app.cash.molecule:molecule-gradle-plugin","old_version":"1.2.1","new_version":"1.4.3","repository_url":"https://github.com/cashapp/molecule"},{"name":"app.cash.turbine:turbine","old_version":"1.0.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"androidx.compose.animation:animation","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.foundation:foundation","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.runtime:runtime","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.ui:ui","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.material3:material3","old_version":"1.1.2","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.1.2","new_version":"1.4.0"},{"name":"androidx.activity:activity-compose","old_version":"1.8.0","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.6.2","new_version":"2.10.0"},{"name":"io.coil-kt:coil-compose","old_version":"2.4.0","new_version":"2.7.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.glance:glance","old_version":"1.0.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.0.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.0.0","new_version":"1.1.1"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.0.0","new_version":"1.2.1"},{"name":"androidx.room:room-runtime","old_version":"2.6.0-rc01","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.0-rc01","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.0-rc01","new_version":"2.8.4"},{"name":"com.google.dagger:hilt-android","old_version":"2.48.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.48.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.48.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.0.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.0","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-auth","old_version":"20.7.0","new_version":"21.5.1"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"18.4.3","new_version":"20.0.6","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"2.9.9","new_version":"3.0.7"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha07"},{"name":"androidx.activity:activity-ktx","old_version":"1.8.0","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0-alpha03","new_version":"1.8.0-alpha01"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.8.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.1","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.10.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.notkamui.libs:keval","old_version":"0.9.0","new_version":"1.1.1","repository_url":"https://github.com/notKamui/Keval"},{"name":"com.opencsv:opencsv","old_version":"5.8","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.13.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.1","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.1","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.3.0","new_version":"0.5.8","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.2.0","new_version":"1.4.3","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"1.9.10-1.0.13","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 70 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.4` | `9.5.1` |\n| com.android.tools.build:gradle | `8.1.2` | `9.2.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `1.9.10` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `1.9.10` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `1.9.10` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.6` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.6.0` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.8` | `1.14.9` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.1` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.1` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.1` | `2.0.0` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [io.kotest:kotest-framework-datatest](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [app.cash.molecule:molecule-gradle-plugin](https://github.com/cashapp/molecule) | `1.2.1` | `1.4.3` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.0.0` | `1.2.1` |\n| androidx.compose.animation:animation | `1.5.3` | `1.11.1` |\n| androidx.compose.foundation:foundation | `1.5.3` | `1.11.1` |\n| androidx.compose.runtime:runtime | `1.5.3` | `1.11.1` |\n| androidx.compose.runtime:runtime-livedata | `1.5.3` | `1.11.1` |\n| androidx.compose.ui:ui | `1.5.3` | `1.11.1` |\n| androidx.compose.ui:ui-tooling | `1.5.3` | `1.11.1` |\n| androidx.compose.material3:material3 | `1.1.2` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.1.2` | `1.4.0` |\n| androidx.activity:activity-compose | `1.8.0` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.6.2` | `2.10.0` |\n| [io.coil-kt:coil-compose](https://github.com/coil-kt/coil) | `2.4.0` | `2.7.0` |\n| androidx.glance:glance | `1.0.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.0.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.0.0` | `1.1.1` |\n| androidx.datastore:datastore-preferences | `1.0.0` | `1.2.1` |\n| androidx.room:room-runtime | `2.6.0-rc01` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.0-rc01` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.0-rc01` | `2.8.4` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.48.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.48.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.48.1` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.0.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.0` | `4.4.4` |\n| com.google.android.gms:play-services-auth | `20.7.0` | `21.5.1` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `18.4.3` | `20.0.6` |\n| com.google.firebase:firebase-crashlytics-gradle | `2.9.9` | `3.0.7` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha07` |\n| androidx.activity:activity-ktx | `1.8.0` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0-alpha03` | `1.8.0-alpha01` |\n| androidx.work:work-runtime-ktx | `2.8.1` | `2.11.2` |\n| androidx.work:work-testing | `2.8.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.1` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.10.0` | `1.14.0` |\n| [com.notkamui.libs:keval](https://github.com/notKamui/Keval) | `0.9.0` | `1.1.1` |\n| com.opencsv:opencsv | `5.8` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.13.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.1` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.1` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.3.0` | `0.5.8` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.2.0` | `1.4.3` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `1.9.10-1.0.13` | `2.3.8` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n\nUpdates `gradle-wrapper` from 8.4 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\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/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.1.2 to 9.2.1\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.9.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/v1.9.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-stdlib` from 1.9.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'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/v1.9.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-serialization` from 1.9.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-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:kotlin-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.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-stdlib` from 1.9.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'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/v1.9.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.kotlinx:kotlinx-coroutines-core` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions...\n\n_Description has been truncated_","html_url":"https://github.com/Mihael20/MihaelWallet/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mihael20%2FMihaelWallet/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4433372310","node_id":"PR_kwDORJ2tSc7a4wvQ","number":14,"state":"closed","title":"build(deps): bump androidx.work:work-runtime-ktx from 2.10.0 to 2.11.2","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-28T09:57:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T23:35:47.000Z","updated_at":"2026-05-28T09:57:49.000Z","time_to_close":1333313,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.2","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.10.0 to 2.11.2.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.10.0\u0026new-version=2.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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/Darknetzz/jotty-android/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Darknetzz%2Fjotty-android/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4380786887","node_id":"PR_kwDOM9q9Ac7YOZ_W","number":159,"state":"closed","title":"Bump the ivy-wallet group with 79 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-09T09:17:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-05T01:14:31.000Z","updated_at":"2026-05-09T09:17:54.000Z","time_to_close":374595,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":79,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.22"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.5","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.7"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha07"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.8","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.1"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 79 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.5.0` |\n| com.android.tools.build:gradle | `8.5.2` | `9.2.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.22` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.5` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.7` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha07` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.8` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.7` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.1` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\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/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.2.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.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!-- 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.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` from 2.0.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.0.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-serialization` from 2.0.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-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:kotlin-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.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.0.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!-- 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.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` from 2.0.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/kot...\n\n_Description has been truncated_","html_url":"https://github.com/Mystour/ivy-wallet/pull/159","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mystour%2Fivy-wallet/issues/159","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/159/packages"},{"uuid":"4347312688","node_id":"PR_kwDORJ33Q87Wi6Gd","number":100,"state":"open","title":"build(deps): bump androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2 in /android","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-29T01:41:17.000Z","updated_at":"2026-04-29T01:42:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.2","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.8.1\u0026new-version=2.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdate `androidx.work:work-runtime-ktx` from 2.8.1 to 2.11.2 to pull in the latest WorkManager fixes and improvements. Keeps the Android background work stack current with recent AndroidX releases.\n\n\u003csup\u003eWritten for commit 3ad2ff519dba52a1f7f2a0f3f4965379cb4b6593. Summary will update on new commits. \u003ca href=\"https://cubic.dev/pr/Treystu/SCMessenger/pull/100?utm_source=github\"\u003eReview in cubic\u003c/a\u003e\u003c/sup\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/Treystu/SCMessenger/pull/100","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treystu%2FSCMessenger/issues/100","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/100/packages"},{"uuid":"4298985011","node_id":"PR_kwDOSIDnes7UHYqs","number":3,"state":"open","title":"build(deps): bump the android-dependencies group across 1 directory with 20 updates","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-20T22:09:23.000Z","updated_at":"2026-05-01T22:44:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-dependencies","update_count":20,"packages":[{"name":"com.android.tools.build:gradle","old_version":"8.2.2","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"1.9.25","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.core:core-ktx","old_version":"1.13.1","new_version":"1.18.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.7.0","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.8.2","new_version":"1.13.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.01.00","new_version":"2026.04.01"},{"name":"net.java.dev.jna:jna","old_version":"5.14.0","new_version":"5.18.1","repository_url":"https://github.com/java-native-access/jna"},{"name":"androidx.security:security-crypto","old_version":"1.1.0-alpha06","new_version":"1.1.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.7.7","new_version":"2.9.8"},{"name":"io.mockk:mockk","old_version":"1.13.10","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.7.3","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"androidx.test:rules","old_version":"1.5.0","new_version":"1.7.0"},{"name":"androidx.test.ext:junit","old_version":"1.1.5","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.5.1","new_version":"3.7.0"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"12.1.0","new_version":"14.2.0"},{"name":"io.gitlab.arturbosch.detekt","old_version":"1.23.5","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"gradle-wrapper","old_version":"8.5","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-dependencies group with 18 updates in the /android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.tools.build:gradle | `8.2.2` | `9.2.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.3.21` |\n| androidx.core:core-ktx | `1.13.1` | `1.18.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.7.0` | `2.10.0` |\n| androidx.activity:activity-compose | `1.8.2` | `1.13.0` |\n| androidx.compose:compose-bom | `2025.01.00` | `2026.04.01` |\n| [net.java.dev.jna:jna](https://github.com/java-native-access/jna) | `5.14.0` | `5.18.1` |\n| androidx.security:security-crypto | `1.1.0-alpha06` | `1.1.0` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.navigation:navigation-compose | `2.7.7` | `2.9.8` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.10` | `1.14.9` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.10.2` |\n| androidx.test:rules | `1.5.0` | `1.7.0` |\n| androidx.test.ext:junit | `1.1.5` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.5.1` | `3.7.0` |\n| org.jlleitschuh.gradle.ktlint | `12.1.0` | `14.2.0` |\n| [io.gitlab.arturbosch.detekt](https://github.com/detekt/detekt) | `1.23.5` | `1.23.8` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.5` | `9.5.0` |\n\n\nUpdates `com.android.tools.build:gradle` from 8.2.2 to 9.2.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.9.25 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/v1.9.25...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.13.1 to 1.18.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.7.0 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.8.2 to 1.13.0\n\nUpdates `androidx.compose:compose-bom` from 2025.01.00 to 2026.04.01\n\nUpdates `net.java.dev.jna:jna` from 5.14.0 to 5.18.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/java-native-access/jna/blob/master/CHANGES.md\"\u003enet.java.dev.jna:jna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 5.18.1\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1686\"\u003e#1686\u003c/a\u003e: Fix \u003ccode\u003esortFields\u003c/code\u003e race condition while getting fields - \u003ca href=\"https://github.com/bendk\"\u003e\u003ccode\u003e@​bendk\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.18.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1671\"\u003e#1671\u003c/a\u003e: Add \u003ccode\u003eisRISCV\u003c/code\u003e to \u003ccode\u003ec.s.j.Platform\u003c/code\u003e - \u003ca href=\"https://github.com/Glavo\"\u003e\u003ccode\u003e@​Glavo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1672\"\u003e#1672\u003c/a\u003e: Add \u003ccode\u003eCFLocale\u003c/code\u003e, \u003ccode\u003eCFLocaleCopyCurrent\u003c/code\u003e, \u003ccode\u003eCFCFDateFormatter\u003c/code\u003e, \u003ccode\u003eCFDateFormatterStyle\u003c/code\u003e, \u003ccode\u003eCFDateFormatterCreate\u003c/code\u003e and \u003ccode\u003eCFDateFormatterGetFormat\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac.CoreFoundation\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1669\"\u003e#1669\u003c/a\u003e: Document requirement for running on JDK 24+ - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1681\"\u003e#1681\u003c/a\u003e: Fix deadlock in Structure constructor introduced in 5.16.0 - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​brettwooldridge\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1683\"\u003e#1683\u003c/a\u003e: Fix native build error on Xcode 16.3 / Apple Clang 17 - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​brettwooldridge\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.17.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1658\"\u003e#1658\u003c/a\u003e:  Add win32 power event constants, types, and functions - \u003ca href=\"https://github.com/eranl\"\u003e\u003ccode\u003e@​eranl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1647\"\u003e#1647\u003c/a\u003e: Fix calls to jnidispatch on Android with 16KB page size (part 2) - \u003ca href=\"https://github.com/BugsBeGone\"\u003e\u003ccode\u003e@​BugsBeGone\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.16.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1626\"\u003e#1626\u003c/a\u003e: Add caching of field list and field validation in \u003ccode\u003eStructure\u003c/code\u003e along with more efficient reentrant read-write locking instead of synchronized() blocks - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​BrettWooldridge\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1618\"\u003e#1618\u003c/a\u003e: Fix calls to jnidispatch on Android with 16KB page size - \u003ca href=\"https://github.com/Thomyrock\"\u003e\u003ccode\u003e@​Thomyrock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.15.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\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/java-native-access/jna/commit/3c493c1642b1555d541755e0984c968ba6c0f540\"\u003e\u003ccode\u003e3c493c1\u003c/code\u003e\u003c/a\u003e Release 5.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/e3838d5396db7b76d45ec44ad3a121f3ba9e164b\"\u003e\u003ccode\u003ee3838d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1680\"\u003e#1680\u003c/a\u003e from java-native-access/dependabot/github_actions/gi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/5cac36169eb88f373c709c292c1c4dc36b6f73c8\"\u003e\u003ccode\u003e5cac361\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/5511f281d0b59a6dc79c40e62b194cd1da738ae8\"\u003e\u003ccode\u003e5511f28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1687\"\u003e#1687\u003c/a\u003e from bendk/push-yyprxvvrrttk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/c401bca07c3e22ff3ba3ab99fbdbd3b9e772c1ef\"\u003e\u003ccode\u003ec401bca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1690\"\u003e#1690\u003c/a\u003e from jonalmeida/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/6e7e828eb8ffed1085f49503a293b9398e1437fb\"\u003e\u003ccode\u003e6e7e828\u003c/code\u003e\u003c/a\u003e Update recommended Android proguard rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/b665e9e6a2752aba2dcb9a73b00c086a5122f595\"\u003e\u003ccode\u003eb665e9e\u003c/code\u003e\u003c/a\u003e Avoid threading issues in sortFields (\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1686\"\u003e#1686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/0da700d3005d2a3fc332c47fae93b16b320f51af\"\u003e\u003ccode\u003e0da700d\u003c/code\u003e\u003c/a\u003e Prepare next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/285632fa6e4c4f8c49cfad059c76107b64d2a039\"\u003e\u003ccode\u003e285632f\u003c/code\u003e\u003c/a\u003e Release 5.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/77fe152e751fcaaf82f8a14c59a2f25f136f503c\"\u003e\u003ccode\u003e77fe152\u003c/code\u003e\u003c/a\u003e Support/Prepare deployment to new maven central repository\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/java-native-access/jna/compare/5.14.0...5.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.7.0 to 2.10.0\n\nUpdates `androidx.security:security-crypto` from 1.1.0-alpha06 to 1.1.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.9.1 to 2.11.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.7.7 to 2.9.8\n\nUpdates `io.mockk:mockk` from 1.13.10 to 1.14.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix configuration option example for restricted classes by \u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1465\"\u003emockk/mockk#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InaccessibleObjectException when spying on JDK interfaces on JDK 16+ by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Java 11 compatibility: replace Random.nextLong(long, long) with Java 8 compatible alternative by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1456\"\u003emockk/mockk#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional restricted mock system property by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError when mocking methods returning ArrayList by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1464\"\u003emockk/mockk#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange JUnit 4/5 dependencies from implementation to compileOnly by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1455\"\u003emockk/mockk#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump dependencies, bump dexter by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue 1475: nullable value class verification by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1480\"\u003emockk/mockk#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate build configuration to version catalog by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1481\"\u003emockk/mockk#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up CI configuration and build artifacts by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1482\"\u003emockk/mockk#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Spotless formatting plugin by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1483\"\u003emockk/mockk#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable ktlint unused-imports rule and clean up code by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1489\"\u003emockk/mockk#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enable no-wildcard-imports in ktlint by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1491\"\u003emockk/mockk#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd List injection support for \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1356\"\u003e#1356\u003c/a\u003e) by \u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify settings files by prioritizing mockk.properties in MockKSettings by \u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type matching for any() when parameter is Any  (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1296\"\u003e#1296\u003c/a\u003e) by \u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Dokka to 2.1.0 and Refactor Documentation Setup by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1499\"\u003emockk/mockk#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump gradle to 9.3.0, add .gitattributes by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1502\"\u003emockk/mockk#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1342\"\u003e#1342\u003c/a\u003e: Handle value classes for type parameters and don't unbox value classes returned as interface/supertype by \u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce clearAllStubsFromMemory by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1503\"\u003emockk/mockk#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dokka to 2.2.0-Beta by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1505\"\u003emockk/mockk#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e initialization order based on dependencies by \u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.6...1.14.9\"\u003ehttps://github.com/mockk/mockk/compare/1.14.6...1.14.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.14.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\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/mockk/mockk/commit/71a8e21be4d2f443848cf552685ffe62aeb5f3ca\"\u003e\u003ccode\u003e71a8e21\u003c/code\u003e\u003c/a\u003e Release v1.14.9 and bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/cd84546921adf9c91c6635396b5c6c13263f3a0d\"\u003e\u003ccode\u003ecd84546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1500\"\u003e#1500\u003c/a\u003e from neungs-2/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/79b507adc690a7b62dc879bc198e3088fef0b845\"\u003e\u003ccode\u003e79b507a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1505\"\u003e#1505\u003c/a\u003e from jgrnrt/fix-dokka-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/373f95b88cca5bd60cfdf16d5ac1c4b64d89d5d6\"\u003e\u003ccode\u003e373f95b\u003c/code\u003e\u003c/a\u003e bump dokka to 2.2.0-Beta to fix \u0026quot;ERROR CLASS: Symbol not found\u0026quot; in generated ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/dbd755cbd67779c72c3ab86600d364aea3bcd679\"\u003e\u003ccode\u003edbd755c\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/e4ff90b320ad73f9e61bf1b3758cb3028ec64aad\"\u003e\u003ccode\u003ee4ff90b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1503\"\u003e#1503\u003c/a\u003e from nishatoma/add-clear-memory-method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/4a7d48190154a4d2a22b6066c9a0bd387f1ea356\"\u003e\u003ccode\u003e4a7d481\u003c/code\u003e\u003c/a\u003e fix: add backward compatible method for MockInitializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/db40a015c8c28704036a12b4a5069ba16a1c2af2\"\u003e\u003ccode\u003edb40a01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1442\"\u003e#1442\u003c/a\u003e from ianbrandt/issue-1342\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/9249fbfc0b935ec108e2642a46a8b5aec1f94313\"\u003e\u003ccode\u003e9249fbf\u003c/code\u003e\u003c/a\u003e Replaced \u003ccode\u003eMethodHandle\u003c/code\u003e usage with \u003ccode\u003eMethod\u003c/code\u003e for value class unboxing to suppo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/a34d4d9b4823f65b14a0e8c791438dd3e92982d2\"\u003e\u003ccode\u003ea34d4d9\u003c/code\u003e\u003c/a\u003e Updated the \u003ccode\u003e:test-modules:client-tests\u003c/code\u003e Kotlinx Coroutines dependency versio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockk/mockk/compare/1.13.10...1.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.mockk:mockk-agent-jvm` from 1.13.10 to 1.14.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk-agent-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix configuration option example for restricted classes by \u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1465\"\u003emockk/mockk#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InaccessibleObjectException when spying on JDK interfaces on JDK 16+ by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Java 11 compatibility: replace Random.nextLong(long, long) with Java 8 compatible alternative by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1456\"\u003emockk/mockk#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional restricted mock system property by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError when mocking methods returning ArrayList by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1464\"\u003emockk/mockk#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange JUnit 4/5 dependencies from implementation to compileOnly by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1455\"\u003emockk/mockk#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump dependencies, bump dexter by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue 1475: nullable value class verification by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1480\"\u003emockk/mockk#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate build configuration to version catalog by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1481\"\u003emockk/mockk#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up CI configuration and build artifacts by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1482\"\u003emockk/mockk#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Spotless formatting plugin by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1483\"\u003emockk/mockk#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable ktlint unused-imports rule and clean up code by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1489\"\u003emockk/mockk#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enable no-wildcard-imports in ktlint by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1491\"\u003emockk/mockk#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd List injection support for \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1356\"\u003e#1356\u003c/a\u003e) by \u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify settings files by prioritizing mockk.properties in MockKSettings by \u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type matching for any() when parameter is Any  (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1296\"\u003e#1296\u003c/a\u003e) by \u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Dokka to 2.1.0 and Refactor Documentation Setup by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1499\"\u003emockk/mockk#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump gradle to 9.3.0, add .gitattributes by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1502\"\u003emockk/mockk#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1342\"\u003e#1342\u003c/a\u003e: Handle value classes for type parameters and don't unbox value classes returned as interface/supertype by \u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce clearAllStubsFromMemory by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1503\"\u003emockk/mockk#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dokka to 2.2.0-Beta by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1505\"\u003emockk/mockk#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e initialization order based on dependencies by \u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.6...1.14.9\"\u003ehttps://github.com/mockk/mockk/compare/1.14.6...1.14.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.14.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\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/mockk/mockk/commit/71a8e21be4d2f443848cf552685ffe62aeb5f3ca\"\u003e\u003ccode\u003e71a8e21\u003c/code\u003e\u003c/a\u003e Release v1.14.9 and bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/cd84546921adf9c91c6635396b5c6c13263f3a0d\"\u003e\u003ccode\u003ecd84546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1500\"\u003e#1500\u003c/a\u003e from neungs-2/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/79b507adc690a7b62dc879bc198e3088fef0b845\"\u003e\u003ccode\u003e79b507a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1505\"\u003e#1505\u003c/a\u003e from jgrnrt/fix-dokka-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/373f95b88cca5bd60cfdf16d5ac1c4b64d89d5d6\"\u003e\u003ccode\u003e373f95b\u003c/code\u003e\u003c/a\u003e bump dokka to 2.2.0-Beta to fix \u0026quot;ERROR CLASS: Symbol not found\u0026quot; in generated ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/dbd755cbd67779c72c3ab86600d364aea3bcd679\"\u003e\u003ccode\u003edbd755c\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/e4ff90b320ad73f9e61bf1b3758cb3028ec64aad\"\u003e\u003ccode\u003ee4ff90b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1503\"\u003e#1503\u003c/a\u003e from nishatoma/add-clear-memory-method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/4a7d48190154a4d2a22b6066c9a0bd387f1ea356\"\u003e\u003ccode\u003e4a7d481\u003c/code\u003e\u003c/a\u003e fix: add backward compatible method for MockInitializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/db40a015c8c28704036a12b4a5069ba16a1c2af2\"\u003e\u003ccode\u003edb40a01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1442\"\u003e#1442\u003c/a\u003e from ianbrandt/issue-1342\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/9249fbfc0b935ec108e2642a46a8b5aec1f94313\"\u003e\u003ccode\u003e9249fbf\u003c/code\u003e\u003c/a\u003e Replaced \u003ccode\u003eMethodHandle\u003c/code\u003e usage with \u003ccode\u003eMethod\u003c/code\u003e for value class unboxing to suppo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/a34d4d9b4823f65b14a0e8c791438dd3e92982d2\"\u003e\u003ccode\u003ea34d4d9\u003c/code\u003e\u003c/a\u003e Updated the \u003ccode\u003e:test-modules:client-tests\u003c/code\u003e Kotlinx Coroutines dependency versio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockk/mockk/compare/1.13.10...1.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.7.3 to 1.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed binary incompatibility introduced for non-JVM targets in \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4261\"\u003e#4261\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4309\"\u003e#4309\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4284\"\u003e#4284\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduced \u003ccode\u003eFlow.any\u003c/code\u003e, \u003ccode\u003eFlow.all\u003c/code\u003e, and \u003ccode\u003eFlow.none\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4212\"\u003e#4212\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/CLOVIS-AI\"\u003e\u003ccode\u003e@​CLOVIS-AI\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReorganized \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e and \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e code to avoid a split package between the two artifacts (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4247\"\u003e#4247\u003c/a\u003e). Note that directly referencing \u003ccode\u003ekotlinx.coroutines.debug.AgentPremain\u003c/code\u003e must now be replaced with \u003ccode\u003ekotlinx.coroutines.debug.internal.AgentPremain\u003c/code\u003e. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eNo longer shade byte-buddy in \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e, reducing the artifact size and simplifying the build configuration of client code. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eNullPointerException\u003c/code\u003e when using Java-deserialized \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e exceptions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4291\"\u003e#4291\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/AlexRiedler\"\u003e\u003ccode\u003e@​AlexRiedler\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eProperly report exceptions thrown by \u003ccode\u003eCoroutineDispatcher.dispatch\u003c/code\u003e instead of raising internal errors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4091\"\u003e#4091\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/zuevmaxim\"\u003e\u003ccode\u003e@​zuevmaxim\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that delayed scheduling of a \u003ccode\u003eDispatchers.Default\u003c/code\u003e or \u003ccode\u003eDispatchers.IO\u003c/code\u003e task after a \u003ccode\u003eyield()\u003c/code\u003e in rare scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4248\"\u003e#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented the \u003ccode\u003emain()\u003c/code\u003e coroutine on Wasm/WASI from executing after a \u003ccode\u003edelay()\u003c/code\u003e call in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4239\"\u003e#4239\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed scheduling of \u003ccode\u003erunBlocking\u003c/code\u003e tasks on Kotlin/Native that arrive after the \u003ccode\u003erunBlocking\u003c/code\u003e block was exited (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4245\"\u003e#4245\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed some terminal \u003ccode\u003eFlow\u003c/code\u003e operators sometimes resuming without taking cancellation into account (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4254\"\u003e#4254\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/jxdabc\"\u003e\u003ccode\u003e@​jxdabc\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug on the JVM that caused coroutine-bound \u003ccode\u003eThreadLocal\u003c/code\u003e values not to get cleaned when using non-\u003ccode\u003eCoroutineDispatcher\u003c/code\u003e continuation interceptors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4296\"\u003e#4296\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWasm/WASI target support (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064\"\u003e#4064\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/igoriakovlev\"\u003e\u003ccode\u003e@​igoriakovlev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elimitedParallelism\u003c/code\u003e now optionally accepts the name of the dispatcher view for easier debugging (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023\"\u003e#4023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNo longer initialize \u003ccode\u003eDispatchers.IO\u003c/code\u003e on the JVM when other standard dispatchers are accessed (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166\"\u003e#4166\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/metalhead8816\"\u003e\u003ccode\u003e@​metalhead8816\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eIntroduced the \u003ccode\u003eFlow\u0026lt;T\u0026gt;.chunked(size: Int): Flow\u0026lt;List\u0026lt;T\u0026gt;\u0026gt;\u003c/code\u003e operator that groups emitted values into groups of the given size (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290\"\u003e#1290\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCloseable dispatchers are instances of \u003ccode\u003eAutoCloseable\u003c/code\u003e now (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123\"\u003e#4123\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCalling \u003ccode\u003ehasNext\u003c/code\u003e on a \u003ccode\u003eChannel\u003c/code\u003e's iterator is idempotent (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065\"\u003e#4065\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/gitpaxultek\"\u003e\u003ccode\u003e@​gitpaxultek\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCoroutineScope()\u003c/code\u003e created without an explicit dispatcher uses \u003ccode\u003eDispatchers.Default\u003c/code\u003e on Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074\"\u003e#4074\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/whyoleg\"\u003e\u003ccode\u003e@​whyoleg\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented non-Android \u003ccode\u003eDispatchers.Main\u003c/code\u003e from initializing when the Firebase dependency is used (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914\"\u003e#3914\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnsured a more intuitive ordering of tasks in \u003ccode\u003erunBlocking\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134\"\u003e#4134\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eForbid casting a \u003ccode\u003eMutex\u003c/code\u003e to \u003ccode\u003eSemaphore\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176\"\u003e#4176\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eWorked around a stack overflow that may occur when calling \u003ccode\u003easDeferred\u003c/code\u003e on a \u003ccode\u003eFuture\u003c/code\u003e many times (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations and promotions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdvanced the deprecation levels for \u003ccode\u003eBroadcastChannel\u003c/code\u003e-based API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197\"\u003e#4197\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels for the old \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198\"\u003e#4198\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eJob.cancelFutureOnCompletion\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4173\"\u003e#4173\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePromoted \u003ccode\u003eCoroutineDispatcher.limitedParallelism\u003c/code\u003e to stable (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3864\"\u003e#3864\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePromoted \u003ccode\u003eCoroutineStart.ATOMIC\u003c/code\u003e from \u003ccode\u003eExperimentalCoroutinesApi\u003c/code\u003e to \u003ccode\u003eDelicateCoroutinesApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4169\"\u003e#4169\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePromoted \u003ccode\u003eCancellableContinuation.resume\u003c/code\u003e with an \u003ccode\u003eonCancellation\u003c/code\u003e lambda to stable, providing extra arguments to the lambda (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4088\"\u003e#4088\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed binary incompatibility introduced for non-JVM targets in \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4261\"\u003e#4261\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4309\"\u003e#4309\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4284\"\u003e#4284\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduced \u003ccode\u003eFlow.any\u003c/code\u003e, \u003ccode\u003eFlow.all\u003c/code\u003e, and \u003ccode\u003eFlow.none\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4212\"\u003e#4212\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/CLOVIS-AI\"\u003e\u003ccode\u003e@​CLOVIS-AI\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReorganized \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e and \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e code to avoid a split package between the two artifacts (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4247\"\u003e#4247\u003c/a\u003e). Note that directly referencing \u003ccode\u003ekotlinx.coroutines.debug.AgentPremain\u003c/code\u003e must now be replaced with \u003ccode\u003ekotlinx.coroutines.debug.internal.AgentPremain\u003c/code\u003e. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eNo longer shade byte-buddy in \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e, reducing the artifact size and simplifying the build configuration of client code. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eNullPointerException\u003c/code\u003e when using Java-deserialized \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e exceptions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4291\"\u003e#4291\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/AlexRiedler\"\u003e\u003ccode\u003e@​AlexRiedler\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eProperly report exceptions thrown by \u003ccode\u003eCoroutineDispatcher.dispatch\u003c/code\u003e instead of raising internal errors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4091\"\u003e#4091\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/zuevmaxim\"\u003e\u003ccode\u003e@​zuevmaxim\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that delayed scheduling of a \u003ccode\u003eDispatchers.Default\u003c/code\u003e or \u003ccode\u003eDispatchers.IO\u003c/code\u003e task after a \u003ccode\u003eyield()\u003c/code\u003e in rare scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4248\"\u003e#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented the \u003ccode\u003emain()\u003c/code\u003e coroutine on Wasm/WASI from executing after a \u003ccode\u003edelay()\u003c/code\u003e call in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4239\"\u003e#4239\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed scheduling of \u003ccode\u003erunBlocking\u003c/code\u003e tasks on Kotlin/Native that arrive after the \u003ccode\u003erunBlocking\u003c/code\u003e block was exited (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4245\"\u003e#4245\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed some terminal \u003ccode\u003eFlow\u003c/code\u003e operators sometimes resuming without taking cancellation into account (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4254\"\u003e#4254\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/jxdabc\"\u003e\u003ccode\u003e@​jxdabc\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug on the JVM that caused coroutine-bound \u003ccode\u003eThreadLocal\u003c/code\u003e values not to get cleaned when using non-\u003ccode\u003eCoroutineDispatcher\u003c/code\u003e continuation interceptors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4296\"\u003e#4296\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWasm/WASI target support (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064\"\u003e#4064\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/igoriakovlev\"\u003e\u003ccode\u003e@​igoriakovlev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elimitedParallelism\u003c/code\u003e now optionally accepts the name of the dispatcher view for easier debugging (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023\"\u003e#4023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNo longer initialize \u003ccode\u003eDispatchers.IO\u003c/code\u003e on the JVM when other standard dispatchers are accessed (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166\"\u003e#4166\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/metalhead8816\"\u003e\u003ccode\u003e@​metalhead8816\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eIntroduced the \u003ccode\u003eFlow\u0026lt;T\u0026gt;.chunked(size: Int): Flow\u0026lt;List\u0026lt;T\u0026gt;\u0026gt;\u003c/code\u003e operator that groups emitted values into groups of the given size (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290\"\u003e#1290\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCloseable dispatchers are instances of \u003ccode\u003eAutoCloseable\u003c/code\u003e now (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123\"\u003e#4123\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCalling \u003ccode\u003ehasNext\u003c/code\u003e on a \u003ccode\u003eChannel\u003c/code\u003e's iterator is idempotent (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065\"\u003e#4065\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/gitpaxultek\"\u003e\u003ccode\u003e@​gitpaxultek\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCoroutineScope()\u003c/code\u003e created without an explicit dispatcher uses \u003ccode\u003eDispatchers.Default\u003c/code\u003e on Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074\"\u003e#4074\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/whyoleg\"\u003e\u003ccode\u003e@​whyoleg\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented non-Android \u003ccode\u003eDispatchers.Main\u003c/code\u003e from initializing when the Firebase dependency is used (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914\"\u003e#3914\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnsured a more intuitive ordering of tasks in \u003ccode\u003erunBlocking\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134\"\u003e#4134\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eForbid casting a \u003ccode\u003eMutex\u003c/code\u003e to \u003ccode\u003eSemaphore\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176\"\u003e#4176\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eWorked around a stack overflow that may occur when calling \u003ccode\u003easDeferred\u003c/code\u003e on a \u003ccode\u003eFuture\u003c/code\u003e many times (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations and promotions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdvanced the deprecation levels for \u003ccode\u003eBroadcastChannel\u003c/code\u003e-based API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197\"\u003e#4197\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels for the old \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198\"\u003e#4198\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/commit/5f8900478a8e20c073145b1608fbc71fe3d7378b\"\u003e\u003ccode\u003e5f89004\u003c/code\u003e\u003c/a\u003e Version 1.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/1a8de2e451e0a2c650538e62e7c7e591970d28b1\"\u003e\u003ccode\u003e1a8de2e\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e9b247e84a43fac5759e2cf69733e25f23d7eb17\"\u003e\u003ccode\u003ee9b247e\u003c/code\u003e\u003c/a\u003e Advertise source jars for JVM-only libraries (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4394\"\u003e#4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/6baf7c821ed9d7ee5db8b6353c24bcf614fc1826\"\u003e\u003ccode\u003e6baf7c8\u003c/code\u003e\u003c/a\u003e Restore Android compatibility in \u003ccode\u003eExecutor.asCoroutineDispatcher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4396\"\u003e#4396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dbca4c1eaadadd29b1122fdf24a6cb53bc69fe76\"\u003e\u003ccode\u003edbca4c1\u003c/code\u003e\u003c/a\u003e Reliably run finalizers even if \u003ccode\u003erunBlocking\u003c/code\u003e got interrupted. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/45893cec51c63490ce294e46ae25cef3e4d625bf\"\u003e\u003ccode\u003e45893ce\u003c/code\u003e\u003c/a\u003e Add the issue template for guide-related problems (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4386\"\u003e#4386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8627cc37d4a2a2e2d683b98d4f53d1e03f59a366\"\u003e\u003ccode\u003e8627cc3\u003c/code\u003e\u003c/a\u003e Fix an explanation of flow emit (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4391\"\u003e#4391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5f8035c108a1211deded198b7809cd8347ca07a5\"\u003e\u003ccode\u003e5f8035c\u003c/code\u003e\u003c/a\u003e Specify explicit return types for some public API functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4389\"\u003e#4389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/465e29d325841244f3a1aac2e13073bc965f9736\"\u003e\u003ccode\u003e465e29d\u003c/code\u003e\u003c/a\u003e Set a predefined image width in debug-coroutines-with-idea.md (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4377\"\u003e#4377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/96de3017802c6711cbe02acfff9b07975d422150\"\u003e\u003ccode\u003e96de301\u003c/code\u003e\u003c/a\u003e Simplify newFixedThreadPoolContext using apply and remove unused import (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4378\"\u003e#4378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.7.3...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.test:rules` from 1.5.0 to 1.7.0\n\nUpdates `androidx.test.ext:junit` from 1.1.5 to 1.3.0\n\nUpdates `androidx.test.espresso:espresso-core` from 3.5.1 to 3.7.0\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 12.1.0 to 14.2.0\n\nUpdates `io.gitlab.arturbosch.detekt` from 1.23.5 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.7\u003c/h2\u003e\n\u003ch4\u003e1.23.7 - 2024-09-08\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.10\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): update kotlin monorepo to v2.0.10 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7517\"\u003e#7517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Kotlin 2.0.0 \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6640\"\u003e#6640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update kotlin monorepo to v1.9.24 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7264\"\u003e#7264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency com.android.tools.build:gradle to v8.5.2 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7525\"\u003e#7525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency gradle to v8.10 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7546\"\u003e#7546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eAdd basic support for isolated projects to 1.x - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7526\"\u003e#7526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicitCollectionElementAccessMethod: fix false positive when Map put has 3 arguments - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7563\"\u003e#7563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBr...\n\n_Description has been truncated_","html_url":"https://github.com/brokenpip3/fatto/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/brokenpip3%2Ffatto/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4263850416","node_id":"PR_kwDOSCoPu87SZOfX","number":2,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-19T08:55:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-14T17:54:40.000Z","updated_at":"2026-04-19T08:55:41.000Z","time_to_close":399652,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.1"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.22"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.5","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.7"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.2.0","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha06"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.7","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.1"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.4.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.22` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.5` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.7` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.2.0` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha06` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.7` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.1` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.1\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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-serialization` from 2.0.20 to 2.3.20\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSp...\n\n_Description has been truncated_","html_url":"https://github.com/vijaykumar-777/hexwallet/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/vijaykumar-777%2Fhexwallet/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4213156195","node_id":"PR_kwDOQ8czTs7QRa_2","number":78,"state":"closed","title":"Bump the androidx group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-19T13:48:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T17:49:09.000Z","updated_at":"2026-04-19T13:48:36.000Z","time_to_close":1108759,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"androidx","update_count":10,"packages":[{"name":"androidx.lifecycle:lifecycle-process","old_version":"2.9.0","new_version":"2.10.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.11.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.11.1","new_version":"2.11.2"},{"name":"androidx.room:room-runtime","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:rules","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.lifecycle:lifecycle-process | `2.9.0` | `2.10.0` |\n| androidx.work:work-runtime-ktx | `2.11.1` | `2.11.2` |\n| androidx.work:work-testing | `2.11.1` | `2.11.2` |\n| androidx.room:room-runtime | `2.7.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.7.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.7.1` | `2.8.4` |\n| androidx.room:room-testing | `2.7.1` | `2.8.4` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:rules | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.9.0 to 2.10.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.11.1 to 2.11.2\n\nUpdates `androidx.work:work-testing` from 2.11.1 to 2.11.2\n\nUpdates `androidx.work:work-testing` from 2.11.1 to 2.11.2\n\nUpdates `androidx.room:room-runtime` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-testing` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-testing` from 2.7.1 to 2.8.4\n\nUpdates `androidx.test:runner` from 1.6.2 to 1.7.0\n\nUpdates `androidx.test:rules` from 1.6.1 to 1.7.0\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n","html_url":"https://github.com/sara-star-quant/KioskOps-SDK-Android-Enterprise/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sara-star-quant%2FKioskOps-SDK-Android-Enterprise/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"},{"uuid":"4167637269","node_id":"PR_kwDOP6Wkrs7OfqlU","number":52,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T08:42:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T05:49:51.000Z","updated_at":"2026-04-03T08:42:51.000Z","time_to_close":355972,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.21"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.4","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.6"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.1.2","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha06"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.0"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.4.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.10.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.21` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.4` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.6` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.1.2` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha06` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.6` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.0` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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-serialization` from 2.0.20 to 2.3.20\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpec...\n\n_Description has been truncated_","html_url":"https://github.com/aswin-as/MoneyTrack/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswin-as%2FMoneyTrack/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"},{"uuid":"4167055653","node_id":"PR_kwDOP9oWk87OeZPO","number":50,"state":"closed","title":"build(deps): Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T08:58:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T04:01:16.000Z","updated_at":"2026-04-03T08:58:29.000Z","time_to_close":363423,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.21"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.4","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.6"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.1.2","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha06"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.0"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.4.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.10.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.21` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.4` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.6` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.1.2` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha06` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.6` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.0` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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-serialization` from 2.0.20 to 2.3.20\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpec...\n\n_Description has been truncated_","html_url":"https://github.com/RandilFdo/SQRL-Budget-Tracker/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RandilFdo%2FSQRL-Budget-Tracker/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"},{"uuid":"4145748090","node_id":"PR_kwDORL20Nc7NyzIf","number":13,"state":"closed","title":"Bump the maven group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-10T17:00:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T17:01:06.000Z","updated_at":"2026-04-10T17:00:56.000Z","time_to_close":1295988,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":11,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.11.1","new_version":"2.11.2"},{"name":"androidx.activity:activity-compose","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.03.01"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha14","new_version":"1.5.0-alpha16"},{"name":"io.insert-koin:koin-androidx-compose","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-androidx-workmanager","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"com.android.application","old_version":"9.2.0-alpha01","new_version":"9.2.0-alpha05"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| androidx.core:core-ktx | `1.17.0` | `1.18.0` |\n| androidx.work:work-runtime-ktx | `2.11.1` | `2.11.2` |\n| androidx.activity:activity-compose | `1.12.4` | `1.13.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.03.01` |\n| androidx.compose.material3:material3 | `1.5.0-alpha14` | `1.5.0-alpha16` |\n| [io.insert-koin:koin-androidx-compose](https://github.com/InsertKoinIO/koin) | `4.1.1` | `4.2.0` |\n| [io.insert-koin:koin-androidx-workmanager](https://github.com/InsertKoinIO/koin) | `4.1.1` | `4.2.0` |\n| com.android.application | `9.2.0-alpha01` | `9.2.0-alpha05` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.18.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.11.1 to 2.11.2\n\nUpdates `androidx.activity:activity-compose` from 1.12.4 to 1.13.0\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.03.01\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha14 to 1.5.0-alpha16\n\nUpdates `io.insert-koin:koin-androidx-compose` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-androidx-compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.0\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.20\u003c/p\u003e\n\u003cp\u003eNew Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKtor 3.4 DI Bridge — Full integration with Ktor's new DI system (ktor-server-di), bridging Ktor ↔ Koin dependency injection both ways\u003c/li\u003e\n\u003cli\u003eDagger Bridge (koin-dagger-bridge) — New module to help inject Koin components from Dagger side\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 3 support — Entry point provider with metadata parameter passing (animations, etc.), generic EntryProvider, and navigation scopes\u003c/li\u003e\n\u003cli\u003eNavigation Scope for Compose Nav 2 — Added scoped navigation support for Compose Navigation 2\u003c/li\u003e\n\u003cli\u003eLazy Modules — Parallel loading at startup for improved performance, with benchmarks\u003c/li\u003e\n\u003cli\u003estrictOverride option — New definition option to override explicitly\u003c/li\u003e\n\u003cli\u003ekoinActivityInject — Helper to retrieve dependencies against Activity scope\u003c/li\u003e\n\u003cli\u003eKoin Compiler Stubs — Added stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003eKoinApplication.withConfiguration\u003c!-- raw HTML omitted --\u003e() — New configuration support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance \u0026amp; Stability\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore Resolver V2 — Fixed parameter stack propagation, injected params handling, and child scope/ViewModel scope resolution\u003c/li\u003e\n\u003cli\u003eScope Resolution \u0026amp; Thread Safety — Performance optimization with safer ScopeFactory protecting all operations from parallel calls\u003c/li\u003e\n\u003cli\u003eThreadLocal loading optimization — Avoid cost per Scope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2306\"\u003e#2306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egetAll no longer sorted by default — Instances come as declared; sort on purpose if needed\u003c/li\u003e\n\u003cli\u003eParams stack access optimization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix sharedKoinViewModel with type-safe navigation routes (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix qualified name usage in WASM (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2312\"\u003e#2312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix premature release of scope \u0026amp; context in Compose — don't drop in onForgotten (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2274\"\u003e#2274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashing declarations for LocalKoinScope \u0026amp; LocalKoinApplication\u003c/li\u003e\n\u003cli\u003eFix Compose Koin Context Loader and Entry Points (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2327\"\u003e#2327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CoreResolution with Child Scopes / ViewModelScope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2325\"\u003e#2325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Scope Archetypes Qualifier in plugin support functions\u003c/li\u003e\n\u003cli\u003eFix qualifier conversion\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking Changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminSdk raised to 23 for Android\u003c/li\u003e\n\u003cli\u003emodule renamed to lazyModule in some contexts\u003c/li\u003e\n\u003cli\u003eBeanDef constructor change (API signature update)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDependencies\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.3.20\u003c/li\u003e\n\u003cli\u003eKtor 3.4\u003c/li\u003e\n\u003cli\u003eJetBrains Compose 1.10.2\u003c/li\u003e\n\u003cli\u003eAndroidX Lifecycle 2.10.0\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 2.9.7 / Nav3 1.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.0-RC2\u003c/h2\u003e\n\u003cp\u003eSecond Release Candidate for Koin 4.2.0, upgrading to Kotlin 2.3.20-RC2 and updating dependencies.\u003c/p\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/InsertKoinIO/koin/commit/59dd7fbca017be3cb41cef4a2113098123d6d5e6\"\u003e\u003ccode\u003e59dd7fb\u003c/code\u003e\u003c/a\u003e finalize Koin 4.2.0 - Kotlin 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/81c55e2222a019831c3d0271b26b392eb1152bfd\"\u003e\u003ccode\u003e81c55e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2377\"\u003e#2377\u003c/a\u003e from InsertKoinIO/feat_kotlin_2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/cf3e37bc2763f84034a41ed66f4f722ea6838ac6\"\u003e\u003ccode\u003ecf3e37b\u003c/code\u003e\u003c/a\u003e Koin 4.2.0 - RC2 - Kotlin 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/24c6393c22609c0d0938627441430f2452b09142\"\u003e\u003ccode\u003e24c6393\u003c/code\u003e\u003c/a\u003e Add Koin Compiler Stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/aab6a4709fd772b94d4e8122ada94d047f8adc71\"\u003e\u003ccode\u003eaab6a47\u003c/code\u003e\u003c/a\u003e Koin 4.2.0-RC2 - Kotlin 2.3.20-RC Upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/853370eb172e60cf913140fcc00f6ceeea5a3d3e\"\u003e\u003ccode\u003e853370e\u003c/code\u003e\u003c/a\u003e Docs update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/9631b02b9fb7fcdb60db1e20ff05ba0f35df027d\"\u003e\u003ccode\u003e9631b02\u003c/code\u003e\u003c/a\u003e 4.2.0-RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/3e5b44c0b714e2be058e92f6fe1a81ad4063f5e2\"\u003e\u003ccode\u003e3e5b44c\u003c/code\u003e\u003c/a\u003e Ktor 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/74d98840bac4e8abc3493def3d58e3404dde986c\"\u003e\u003ccode\u003e74d9884\u003c/code\u003e\u003c/a\u003e Remove getAll sorting by default. We let the instances come as declared. If n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/f6a504008bd6e64b7cb9bca665810003965cb429\"\u003e\u003ccode\u003ef6a5040\u003c/code\u003e\u003c/a\u003e Fix EAP Access Ktor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.1.1...4.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-androidx-workmanager` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-androidx-workmanager's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.0\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.20\u003c/p\u003e\n\u003cp\u003eNew Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKtor 3.4 DI Bridge — Full integration with Ktor's new DI system (ktor-server-di), bridging Ktor ↔ Koin dependency injection both ways\u003c/li\u003e\n\u003cli\u003eDagger Bridge (koin-dagger-bridge) — New module to help inject Koin components from Dagger side\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 3 support — Entry point provider with metadata parameter passing (animations, etc.), generic EntryProvider, and navigation scopes\u003c/li\u003e\n\u003cli\u003eNavigation Scope for Compose Nav 2 — Added scoped navigation support for Compose Navigation 2\u003c/li\u003e\n\u003cli\u003eLazy Modules — Parallel loading at startup for improved performance, with benchmarks\u003c/li\u003e\n\u003cli\u003estrictOverride option — New definition option to override explicitly\u003c/li\u003e\n\u003cli\u003ekoinActivityInject — Helper to retrieve dependencies against Activity scope\u003c/li\u003e\n\u003cli\u003eKoin Compiler Stubs — Added stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003eKoinApplication.withConfiguration\u003c!-- raw HTML omitted --\u003e() — New configuration support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance \u0026amp; Stability\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore Resolver V2 — Fixed parameter stack propagation, injected params handling, and child scope/ViewModel scope resolution\u003c/li\u003e\n\u003cli\u003eScope Resolution \u0026amp; Thread Safety — Performance optimization with safer ScopeFactory protecting all operations from parallel calls\u003c/li\u003e\n\u003cli\u003eThreadLocal loading optimization — Avoid cost per Scope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2306\"\u003e#2306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egetAll no longer sorted by default — Instances come as declared; sort on purpose if needed\u003c/li\u003e\n\u003cli\u003eParams stack access optimization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix sharedKoinViewModel with type-safe navigation routes (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix qualified name usage in WASM (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2312\"\u003e#2312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix premature release of scope \u0026amp; context in Compose — don't drop in onForgotten (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2274\"\u003e#2274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashing declarations for LocalKoinScope \u0026amp; LocalKoinApplication\u003c/li\u003e\n\u003cli\u003eFix Compose Koin Context Loader and Entry Points (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2327\"\u003e#2327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CoreResolution with Child Scopes / ViewModelScope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2325\"\u003e#2325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Scope Archetypes Qualifier in plugin support functions\u003c/li\u003e\n\u003cli\u003eFix qualifier conversion\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking Changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminSdk raised to 23 for Android\u003c/li\u003e\n\u003cli\u003emodule renamed to lazyModule in some contexts\u003c/li\u003e\n\u003cli\u003eBeanDef constructor change (API signature update)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDependencies\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.3.20\u003c/li\u003e\n\u003cli\u003eKtor 3.4\u003c/li\u003e\n\u003cli\u003eJetBrains Compose 1.10.2\u003c/li\u003e\n\u003cli\u003eAndroidX Lifecycle 2.10.0\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 2.9.7 / Nav3 1.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.0-RC2\u003c/h2\u003e\n\u003cp\u003eSecond Release Candidate for Koin 4.2.0, upgrading to Kotlin 2.3.20-RC2 and updating dependencies.\u003c/p\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/InsertKoinIO/koin/commit/59dd7fbca017be3cb41cef4a2113098123d6d5e6\"\u003e\u003ccode\u003e59dd7fb\u003c/code\u003e\u003c/a\u003e finalize Koin 4.2.0 - Kotlin 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/81c55e2222a019831c3d0271b26b392eb1152bfd\"\u003e\u003ccode\u003e81c55e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2377\"\u003e#2377\u003c/a\u003e from InsertKoinIO/feat_kotlin_2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/cf3e37bc2763f84034a41ed66f4f722ea6838ac6\"\u003e\u003ccode\u003ecf3e37b\u003c/code\u003e\u003c/a\u003e Koin 4.2.0 - RC2 - Kotlin 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/24c6393c22609c0d0938627441430f2452b09142\"\u003e\u003ccode\u003e24c6393\u003c/code\u003e\u003c/a\u003e Add Koin Compiler Stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/aab6a4709fd772b94d4e8122ada94d047f8adc71\"\u003e\u003ccode\u003eaab6a47\u003c/code\u003e\u003c/a\u003e Koin 4.2.0-RC2 - Kotlin 2.3.20-RC Upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/853370eb172e60cf913140fcc00f6ceeea5a3d3e\"\u003e\u003ccode\u003e853370e\u003c/code\u003e\u003c/a\u003e Docs update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/9631b02b9fb7fcdb60db1e20ff05ba0f35df027d\"\u003e\u003ccode\u003e9631b02\u003c/code\u003e\u003c/a\u003e 4.2.0-RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/3e5b44c0b714e2be058e92f6fe1a81ad4063f5e2\"\u003e\u003ccode\u003e3e5b44c\u003c/code\u003e\u003c/a\u003e Ktor 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/74d98840bac4e8abc3493def3d58e3404dde986c\"\u003e\u003ccode\u003e74d9884\u003c/code\u003e\u003c/a\u003e Remove getAll sorting by default. We let the instances come as declared. If n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/f6a504008bd6e64b7cb9bca665810003965cb429\"\u003e\u003ccode\u003ef6a5040\u003c/code\u003e\u003c/a\u003e Fix EAP Access Ktor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.1.1...4.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.application` from 9.2.0-alpha01 to 9.2.0-alpha05\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.10 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\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.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\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.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/trinadhthatakula/AiImageGen/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trinadhthatakula%2FAiImageGen/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"4142200259","node_id":"PR_kwDOGCv7ms7NpV2Q","number":333,"state":"closed","title":"Bump androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2","user":"dependabot[bot]","labels":["stale","minor","dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-03T08:34:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T09:32:49.000Z","updated_at":"2026-05-03T08:34:37.000Z","time_to_close":3279699,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.2","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.8.1\u0026new-version=2.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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/timmo001/system-bridge-android-companion/pull/333","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/timmo001%2Fsystem-bridge-android-companion/issues/333","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/333/packages"},{"uuid":"4061748274","node_id":"PR_kwDODCKIfM7J41K1","number":1146,"state":"closed","title":"chore(deps): bump the maven group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-31T07:54:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T02:46:47.000Z","updated_at":"2026-03-31T07:54:56.000Z","time_to_close":1660079,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"maven","update_count":13,"packages":[{"name":"gradle-wrapper","old_version":"8.14","new_version":"9.4.0"},{"name":"com.android.tools.build:gradle","old_version":"8.13.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.2.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.11.0","new_version":"2.11.1"},{"name":"androidx.navigation:navigation-fragment-ktx","old_version":"2.9.6","new_version":"2.9.7"},{"name":"androidx.navigation:navigation-ui-ktx","old_version":"2.9.6","new_version":"2.9.7"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.57.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android","old_version":"2.57.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-compiler","old_version":"2.57.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.1","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.mockk:mockk","old_version":"1.14.7","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"com.google.devtools.ksp","old_version":"2.3.4","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.14` | `9.4.0` |\n| com.android.tools.build:gradle | `8.13.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.10` |\n| androidx.core:core-ktx | `1.17.0` | `1.18.0` |\n| androidx.work:work-runtime-ktx | `2.11.0` | `2.11.1` |\n| androidx.navigation:navigation-fragment-ktx | `2.9.6` | `2.9.7` |\n| androidx.navigation:navigation-ui-ktx | `2.9.6` | `2.9.7` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.57.2` | `2.59.2` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.57.2` | `2.59.2` |\n| [com.google.dagger:hilt-compiler](https://github.com/google/dagger) | `2.57.2` | `2.59.2` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.1` | `6.0.3` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.7` | `1.14.9` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.4` | `2.3.6` |\n\n\nUpdates `gradle-wrapper` from 8.14 to 9.4.0\n\nUpdates `com.android.tools.build:gradle` from 8.13.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.2.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.18.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.11.0 to 2.11.1\n\nUpdates `androidx.navigation:navigation-fragment-ktx` from 2.9.6 to 2.9.7\n\nUpdates `androidx.navigation:navigation-ui-ktx` from 2.9.6 to 2.9.7\n\nUpdates `androidx.navigation:navigation-ui-ktx` from 2.9.6 to 2.9.7\n\nUpdates `com.google.dagger:hilt-android-gradle-plugin` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-compiler` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-compiler` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.1 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.mockk:mockk` from 1.14.7 to 1.14.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix configuration option example for restricted classes by \u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1465\"\u003emockk/mockk#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InaccessibleObjectException when spying on JDK interfaces on JDK 16+ by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Java 11 compatibility: replace Random.nextLong(long, long) with Java 8 compatible alternative by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1456\"\u003emockk/mockk#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional restricted mock system property by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError when mocking methods returning ArrayList by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1464\"\u003emockk/mockk#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange JUnit 4/5 dependencies from implementation to compileOnly by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1455\"\u003emockk/mockk#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump dependencies, bump dexter by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue 1475: nullable value class verification by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1480\"\u003emockk/mockk#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate build configuration to version catalog by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1481\"\u003emockk/mockk#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up CI configuration and build artifacts by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1482\"\u003emockk/mockk#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Spotless formatting plugin by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1483\"\u003emockk/mockk#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable ktlint unused-imports rule and clean up code by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1489\"\u003emockk/mockk#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enable no-wildcard-imports in ktlint by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1491\"\u003emockk/mockk#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd List injection support for \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1356\"\u003e#1356\u003c/a\u003e) by \u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify settings files by prioritizing mockk.properties in MockKSettings by \u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type matching for any() when parameter is Any  (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1296\"\u003e#1296\u003c/a\u003e) by \u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Dokka to 2.1.0 and Refactor Documentation Setup by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1499\"\u003emockk/mockk#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump gradle to 9.3.0, add .gitattributes by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1502\"\u003emockk/mockk#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1342\"\u003e#1342\u003c/a\u003e: Handle value classes for type parameters and don't unbox value classes returned as interface/supertype by \u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce clearAllStubsFromMemory by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1503\"\u003emockk/mockk#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dokka to 2.2.0-Beta by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1505\"\u003emockk/mockk#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e initialization order based on dependencies by \u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.6...1.14.9\"\u003ehttps://github.com/mockk/mockk/compare/1.14.6...1.14.9\u003c/a\u003e\u003c/p\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/mockk/mockk/commit/71a8e21be4d2f443848cf552685ffe62aeb5f3ca\"\u003e\u003ccode\u003e71a8e21\u003c/code\u003e\u003c/a\u003e Release v1.14.9 and bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/cd84546921adf9c91c6635396b5c6c13263f3a0d\"\u003e\u003ccode\u003ecd84546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1500\"\u003e#1500\u003c/a\u003e from neungs-2/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/79b507adc690a7b62dc879bc198e3088fef0b845\"\u003e\u003ccode\u003e79b507a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1505\"\u003e#1505\u003c/a\u003e from jgrnrt/fix-dokka-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/373f95b88cca5bd60cfdf16d5ac1c4b64d89d5d6\"\u003e\u003ccode\u003e373f95b\u003c/code\u003e\u003c/a\u003e bump dokka to 2.2.0-Beta to fix \u0026quot;ERROR CLASS: Symbol not found\u0026quot; in generated ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/dbd755cbd67779c72c3ab86600d364aea3bcd679\"\u003e\u003ccode\u003edbd755c\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/e4ff90b320ad73f9e61bf1b3758cb3028ec64aad\"\u003e\u003ccode\u003ee4ff90b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1503\"\u003e#1503\u003c/a\u003e from nishatoma/add-clear-memory-method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/4a7d48190154a4d2a22b6066c9a0bd387f1ea356\"\u003e\u003ccode\u003e4a7d481\u003c/code\u003e\u003c/a\u003e fix: add backward compatible method for MockInitializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/db40a015c8c28704036a12b4a5069ba16a1c2af2\"\u003e\u003ccode\u003edb40a01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1442\"\u003e#1442\u003c/a\u003e from ianbrandt/issue-1342\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/9249fbfc0b935ec108e2642a46a8b5aec1f94313\"\u003e\u003ccode\u003e9249fbf\u003c/code\u003e\u003c/a\u003e Replaced \u003ccode\u003eMethodHandle\u003c/code\u003e usage with \u003ccode\u003eMethod\u003c/code\u003e for value class unboxing to suppo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/a34d4d9b4823f65b14a0e8c791438dd3e92982d2\"\u003e\u003ccode\u003ea34d4d9\u003c/code\u003e\u003c/a\u003e Updated the \u003ccode\u003e:test-modules:client-tests\u003c/code\u003e Kotlinx Coroutines dependency versio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.7...1.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.devtools.ksp` from 2.3.4 to 2.3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where module recompilation would fail on Windows environments when KSP2 was enabled (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolved an issue where generated Java sources were ignored when using Android Kotlin Multiplatform with IP-compatible paths (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2744\"\u003e#2744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a KSP version 2.3.5 CI error exception that does not break build checks (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded symbol-processing-api and common-deps to compile dependencies (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the detection of built-in Kotlin by removing the reliance on KotlinBaseApiPlugin (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA back-port of a performance optimization in the Intellij / Analysis API (\u003ca href=\"https://redirect.github.com/google/ksp/pull/2785\"\u003e2785\u003c/a\u003e )\u003c/li\u003e\n\u003cli\u003eAdded support for nested typealias Kotlin language feature \u003ca href=\"https://redirect.github.com/google/ksp/issues/2588\"\u003e#2588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclude jdbc package from log4j to prevent vulnerability issue \u003ca href=\"https://redirect.github.com/google/ksp/issues/2651\"\u003e#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to \u003ca href=\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gurusai-voleti\"\u003e\u003ccode\u003e@​gurusai-voleti\u003c/code\u003e\u003c/a\u003e and everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.5...2.3.6\"\u003ehttps://github.com/google/ksp/compare/2.3.5...2.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSPCoreEnvironment.instance_prop leaks memory when used programmatically \u003ca href=\"https://redirect.github.com/google/ksp/issues/2742\"\u003e#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing first annotation argument when toByte is used \u003ca href=\"https://redirect.github.com/google/ksp/issues/2672\"\u003e#2672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix circular dependency between KSP and KAPT in AGP 9.0 \u003ca href=\"https://redirect.github.com/google/ksp/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\u003ehttps://github.com/google/ksp/compare/2.3.4...2.3.5\u003c/a\u003e\u003c/p\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/google/ksp/commit/a3b48e6d39e2540f680ccc478611ebf9d972c38c\"\u003e\u003ccode\u003ea3b48e6\u003c/code\u003e\u003c/a\u003e Remove redundant calls to asSequence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/a9f071945cb7688eaa93feb801c5b5b7ac60a6cb\"\u003e\u003ccode\u003ea9f0719\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c984ed3c2063e6f25741549c21432949242abf47\"\u003e\u003ccode\u003ec984ed3\u003c/code\u003e\u003c/a\u003e Test for running gradle tasks without caching in a row\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/42ff48dc95333331ded74078ac06fa5ae8092eda\"\u003e\u003ccode\u003e42ff48d\u003c/code\u003e\u003c/a\u003e Clean up file handlers (intellij)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/ff1076a7608d8aae1a62c7f78b0ec2dd0971ef05\"\u003e\u003ccode\u003eff1076a\u003c/code\u003e\u003c/a\u003e Make symbol-processing-api and common-deps compile dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/df4922bdd70391d171042f7e5b611cfcd4da3b3b\"\u003e\u003ccode\u003edf4922b\u003c/code\u003e\u003c/a\u003e Cherry-pick optimization to MockFileIndexFacade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/daa3f9da492c0354b7d9addcbc2ec9b57058f773\"\u003e\u003ccode\u003edaa3f9d\u003c/code\u003e\u003c/a\u003e Replace findPlugin with withType Gradle api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/378a29f31af3586eb977e46107b65d27b8ed3af2\"\u003e\u003ccode\u003e378a29f\u003c/code\u003e\u003c/a\u003e Improve test exception handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/593e4c394ba35fe449d904fd850debea8386f7c2\"\u003e\u003ccode\u003e593e4c3\u003c/code\u003e\u003c/a\u003e Copy sources from kotlin-compiler to override intellij-core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0be098414299942abf59422943b1290c63d22a3b\"\u003e\u003ccode\u003e0be0984\u003c/code\u003e\u003c/a\u003e Update upload-benchmark-data.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.6\"\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-autome...\n\n_Description has been truncated_","html_url":"https://github.com/trakt/showly/pull/1146","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trakt%2Fshowly/issues/1146","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1146/packages"},{"uuid":"4043526710","node_id":"PR_kwDOP6Wkrs7I93ZC","number":46,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T08:33:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-09T05:57:37.000Z","updated_at":"2026-03-12T08:33:40.000Z","time_to_close":268555,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.0"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.5","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.5","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.21"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.12.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.0"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.4","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.6"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.1.1","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha05"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.12.4"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.1"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.1"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.0"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.7","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.8` | `9.4.0` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.10.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.5` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.5` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.21` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.12.4` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.0` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.4` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.6` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.1.1` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha05` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.12.4` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.1` |\n| androidx.work:work-testing | `2.9.1` | `2.11.1` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.6` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.0` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.7` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.0\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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` from 2.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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-serialization` from 2.0.20 to 2.3.10\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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` from 2.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.8.1 to 1.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed binary incompatibility introduced for non-JVM targets in \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4261\"\u003e#4261\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4309\"\u003e#4309\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4284\"\u003e#4284\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduced \u003ccode\u003eFlow.any\u003c/code\u003e, \u003ccode\u003eFlow.all\u003c/code\u003e, and \u003ccode\u003eFlow.none\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4212\"\u003e#4212\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/CLOVIS-AI\"\u003e\u003ccode\u003e@​CLOVIS-AI\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReorganized \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e and \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e code to avoid a split package between the two artifacts (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4247\"\u003e#4247\u003c/a\u003e). Note that directly referencing \u003ccode\u003ekotlinx.coroutines.debug.AgentPremain\u003c/code\u003e must now be replaced with \u003ccode\u003ekotlinx.coroutines.debug.internal.AgentPremain\u003c/code\u003e. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eNo longer shade byte-buddy in \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e, reducing the artifact size and simplifying the build configuration of client code. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eNullPointerException\u003c/code\u003e when using Java-deserialized \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e exceptions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4291\"\u003e#4291\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/AlexRiedler\"\u003e\u003ccode\u003e@​AlexRiedler\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eProperly report exceptions thrown by \u003ccode\u003eCoroutineDispatcher.dispatch\u003c/code\u003e instead of raising internal errors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4091\"\u003e#4091\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/zuevmaxim\"\u003e\u003ccode\u003e@​zuevmaxim\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that delayed scheduling of a \u003ccode\u003eDispatchers.Default\u003c/code\u003e or \u003ccode\u003eDispatchers.IO\u003c/code\u003e task after a \u003ccode\u003eyield()\u003c/code\u003e in rare scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4248\"\u003e#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented the \u003ccode\u003emain()\u003c/code\u003e coroutine on Wasm/WASI from executing after a \u003ccode\u003edelay()\u003c/code\u003e call in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4239\"\u003e#4239\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed scheduling of \u003ccode\u003erunBlocking\u003c/code\u003e tasks on Kotlin/Native that arrive after the \u003ccode\u003erunBlocking\u003c/code\u003e block was exited (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4245\"\u003e#4245\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed some terminal \u003ccode\u003eFlow\u003c/code\u003e operators sometimes resuming without taking cancellation into account (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4254\"\u003e#4254\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/jxdabc\"\u003e\u003ccode\u003e@​jxdabc\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug on the JVM that caused coroutine-bound \u003ccode\u003eThreadLocal\u003c/code\u003e values not to get cleaned when using non-\u003ccode\u003eCoroutineDispatcher\u003c/code\u003e continuation i...\n\n_Description has been truncated_","html_url":"https://github.com/aswin-as/MoneyTrack/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswin-as%2FMoneyTrack/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"},{"uuid":"4037204672","node_id":"PR_kwDORL9Rjs7Ip5ss","number":5,"state":"closed","title":"Bump the dependencies group across 1 directory with 102 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-14T03:13:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T03:37:36.000Z","updated_at":"2026-03-14T03:13:05.000Z","time_to_close":603328,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":102,"packages":[{"name":"com.android.tools.build:gradle","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.android.application","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.android.library","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.android.test","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.2.0-2.0.2","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.2.0-2.0.2","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-annotation-processing-embeddable","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-compiler-embeddable","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib-jdk8","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.0","new_version":"0.7.1-0.6.x-compat","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"com.google.protobuf:protobuf-gradle-plugin","old_version":"0.9.5","new_version":"0.9.6","repository_url":"https://github.com/google/protobuf-gradle-plugin"},{"name":"com.google.protobuf","old_version":"0.9.5","new_version":"0.9.6"},{"name":"androidx.datastore:datastore","old_version":"1.1.7","new_version":"1.2.0"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"uk.kulikov.detekt.decompose:decompose-detekt-rules","old_version":"1.0.1","new_version":"2.0.0","repository_url":"https://github.com/LionZXY/detekt-decompose-rule"},{"name":"androidx.core:core-splashscreen","old_version":"1.1.0-rc01","new_version":"1.2.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.4"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.12.4"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.compose.ui:ui","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.compose.foundation:foundation","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.compose.material:material","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.wear.compose:compose-material","old_version":"1.4.1","new_version":"1.5.6"},{"name":"androidx.wear.compose:compose-foundation","old_version":"1.4.1","new_version":"1.5.6"},{"name":"com.google.android.horologist:horologist-compose-layout","old_version":"0.6.23","new_version":"0.7.15","repository_url":"https://github.com/google/horologist"},{"name":"tech.annexflow.compose:constraintlayout-compose-multiplatform","old_version":"0.6.0","new_version":"0.6.1","repository_url":"https://github.com/lavmee/constraintlayout-compose-multiplatform"},{"name":"androidx.paging:paging-compose","old_version":"3.3.6","new_version":"3.4.1"},{"name":"org.jetbrains.compose:compose-gradle-plugin","old_version":"1.8.2","new_version":"1.10.2","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"io.coil-kt.coil3:coil","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-svg","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-ktor3","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"com.vladsch.flexmark:flexmark","old_version":"0.42.14","new_version":"0.64.8","repository_url":"https://github.com/vsch/flexmark-java"},{"name":"com.mikepenz:multiplatform-markdown-renderer","old_version":"0.35.0","new_version":"0.39.2","repository_url":"https://github.com/mikepenz/multiplatform-markdown-renderer"},{"name":"androidx.room:room-runtime","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.7.2","new_version":"2.8.4"},{"name":"com.google.dagger:dagger","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:dagger-compiler","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"me.gulya.anvil:annotations","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"me.gulya.anvil:compiler","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"dev.zacsweers.anvil:annotations","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-api","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-utils","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:gradle-plugin","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"io.sentry:sentry-android","old_version":"8.16.0","new_version":"8.34.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-timber","old_version":"8.16.0","new_version":"8.34.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-gradle-plugin","old_version":"5.8.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"net.lingala.zip4j:zip4j","old_version":"2.11.5","new_version":"2.11.6","repository_url":"https://github.com/srikanth-lingala/zip4j"},{"name":"ly.count.android:sdk","old_version":"25.4.2","new_version":"26.1.0","repository_url":"https://github.com/Countly/countly-sdk-android"},{"name":"org.slf4j:slf4j-api","old_version":"1.7.36","new_version":"2.0.17"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.17.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-runtime","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-service","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-testing","old_version":"2.9.1","new_version":"2.10.0"},{"name":"it.unimi.dsi:fastutil","old_version":"8.5.16","new_version":"8.5.18","repository_url":"https://github.com/vigna/fastutil"},{"name":"androidx.core:core","old_version":"1.16.0","new_version":"1.17.0"},{"name":"io.ktor:ktor-client-android","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-codec:commons-codec","old_version":"1.18.0","new_version":"1.21.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"no.nordicsemi.android:ble","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"no.nordicsemi.android:ble-common","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"com.fazecast:jSerialComm","old_version":"2.11.2","new_version":"2.11.4","repository_url":"https://github.com/Fazecast/jSerialComm"},{"name":"com.airbnb.android:lottie-compose","old_version":"6.6.7","new_version":"6.7.1","repository_url":"https://github.com/airbnb/lottie-android"},{"name":"com.google.protobuf:protobuf-kotlin-lite","old_version":"4.31.1","new_version":"4.34.0"},{"name":"com.google.protobuf:protoc","old_version":"4.31.1","new_version":"4.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"org.mockito.kotlin:mockito-kotlin","old_version":"5.4.0","new_version":"6.2.3","repository_url":"https://github.com/mockito/mockito-kotlin"},{"name":"org.robolectric:robolectric","old_version":"4.15.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"io.mockk:mockk","old_version":"1.14.4","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.benchmark:benchmark-macro-junit4","old_version":"1.3.4","new_version":"1.4.1"},{"name":"androidx.wear:wear","old_version":"1.3.0","new_version":"1.4.0"},{"name":"androidx.wear:wear-remote-interactions","old_version":"1.1.0","new_version":"1.2.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.2","new_version":"2.11.1"},{"name":"com.google.firebase:firebase-messaging","old_version":"24.1.2","new_version":"25.0.1","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.arkivanov.decompose:decompose","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"com.arkivanov.decompose:extensions-compose","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"net.engawapg.lib:zoomable","old_version":"2.8.1","new_version":"2.11.1","repository_url":"https://github.com/usuiat/Zoomable"},{"name":"com.squareup.okio:okio","old_version":"3.14.0","new_version":"3.16.4","repository_url":"https://github.com/square/okio"},{"name":"com.squareup.okio:okio-fakefilesystem","old_version":"3.14.0","new_version":"3.16.4","repository_url":"https://github.com/square/okio"},{"name":"com.google.gms.google-services","old_version":"4.4.3","new_version":"4.4.4"},{"name":"androidx.baselineprofile","old_version":"1.3.4","new_version":"1.4.1"},{"name":"com.github.gmazzo.buildconfig","old_version":"5.6.7","new_version":"6.0.9","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.squareup.wire","old_version":"5.3.3","new_version":"5.5.1","repository_url":"https://github.com/square/wire"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 102 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.tools.build:gradle | `8.11.0` | `9.1.0` |\n| com.android.application | `8.11.0` | `9.1.0` |\n| com.android.library | `8.11.0` | `9.1.0` |\n| com.android.test | `8.11.0` | `9.1.0` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.6` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.6` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-annotation-processing-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-compiler-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-stdlib-jdk8](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.10.0` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.0` | `0.7.1-0.6.x-compat` |\n| [com.google.protobuf:protobuf-gradle-plugin](https://github.com/google/protobuf-gradle-plugin) | `0.9.5` | `0.9.6` |\n| com.google.protobuf | `0.9.5` | `0.9.6` |\n| androidx.datastore:datastore | `1.1.7` | `1.2.0` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.6` |\n| [uk.kulikov.detekt.decompose:decompose-detekt-rules](https://github.com/LionZXY/detekt-decompose-rule) | `1.0.1` | `2.0.0` |\n| androidx.core:core-splashscreen | `1.1.0-rc01` | `1.2.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.4` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.12.4` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| androidx.compose.ui:ui | `1.8.3` | `1.10.4` |\n| androidx.compose.ui:ui-tooling | `1.8.3` | `1.10.4` |\n| androidx.compose.foundation:foundation | `1.8.3` | `1.10.4` |\n| androidx.compose.material:material | `1.8.3` | `1.10.4` |\n| androidx.wear.compose:compose-material | `1.4.1` | `1.5.6` |\n| androidx.wear.compose:compose-foundation | `1.4.1` | `1.5.6` |\n| [com.google.android.horologist:horologist-compose-layout](https://github.com/google/horologist) | `0.6.23` | `0.7.15` |\n| [tech.annexflow.compose:constraintlayout-compose-multiplatform](https://github.com/lavmee/constraintlayout-compose-multiplatform) | `0.6.0` | `0.6.1` |\n| androidx.paging:paging-compose | `3.3.6` | `3.4.1` |\n| [org.jetbrains.compose:compose-gradle-plugin](https://github.com/JetBrains/compose-jb) | `1.8.2` | `1.10.2` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-svg](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-ktor3](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [com.vladsch.flexmark:flexmark](https://github.com/vsch/flexmark-java) | `0.42.14` | `0.64.8` |\n| [com.mikepenz:multiplatform-markdown-renderer](https://github.com/mikepenz/multiplatform-markdown-renderer) | `0.35.0` | `0.39.2` |\n| androidx.room:room-runtime | `2.7.2` | `2.8.4` |\n| androidx.room:room-compiler | `2.7.2` | `2.8.4` |\n| androidx.room:room-ktx | `2.7.2` | `2.8.4` |\n| [com.google.dagger:dagger](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [com.google.dagger:dagger-compiler](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [me.gulya.anvil:annotations](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [me.gulya.anvil:compiler](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [dev.zacsweers.anvil:annotations](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:compiler-api](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:compiler](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:compiler-utils](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:gradle-plugin](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.34.1` |\n| [io.sentry:sentry-android-timber](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.34.1` |\n| [io.sentry:sentry-android-gradle-plugin](https://github.com/getsentry/sentry-android-gradle-plugin) | `5.8.0` | `6.1.0` |\n| [net.lingala.zip4j:zip4j](https://github.com/srikanth-lingala/zip4j) | `2.11.5` | `2.11.6` |\n| [ly.count.android:sdk](https://github.com/Countly/countly-sdk-android) | `25.4.2` | `26.1.0` |\n| org.slf4j:slf4j-api | `1.7.36` | `2.0.17` |\n| androidx.core:core-ktx | `1.16.0` | `1.17.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-runtime | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-service | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-testing | `2.9.1` | `2.10.0` |\n| [it.unimi.dsi:fastutil](https://github.com/vigna/fastutil) | `8.5.16` | `8.5.18` |\n| androidx.core:core | `1.16.0` | `1.17.0` |\n| [io.ktor:ktor-client-android](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.18.0` | `1.21.0` |\n| [no.nordicsemi.android:ble](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [no.nordicsemi.android:ble-common](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [com.fazecast:jSerialComm](https://github.com/Fazecast/jSerialComm) | `2.11.2` | `2.11.4` |\n| [com.airbnb.android:lottie-compose](https://github.com/airbnb/lottie-android) | `6.6.7` | `6.7.1` |\n| com.google.protobuf:protobuf-kotlin-lite | `4.31.1` | `4.34.0` |\n| [com.google.protobuf:protoc](https://github.com/protocolbuffers/protobuf) | `4.31.1` | `4.34.0` |\n| [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) | `5.4.0` | `6.2.3` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.15.1` | `4.16.1` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.4` | `1.14.9` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.benchmark:benchmark-macro-junit4 | `1.3.4` | `1.4.1` |\n| androidx.wear:wear | `1.3.0` | `1.4.0` |\n| androidx.wear:wear-remote-interactions | `1.1.0` | `1.2.0` |\n| androidx.work:work-runtime-ktx | `2.10.2` | `2.11.1` |\n| [com.google.firebase:firebase-messaging](https://github.com/firebase/firebase-android-sdk) | `24.1.2` | `25.0.1` |\n| [com.arkivanov.decompose:decompose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.4.0` |\n| [com.arkivanov.decompose:extensions-compose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.4.0` |\n| [net.engawapg.lib:zoomable](https://github.com/usuiat/Zoomable) | `2.8.1` | `2.11.1` |\n| [com.squareup.okio:okio](https://github.com/square/okio) | `3.14.0` | `3.16.4` |\n| [com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio) | `3.14.0` | `3.16.4` |\n| com.google.gms.google-services | `4.4.3` | `4.4.4` |\n| androidx.baselineprofile | `1.3.4` | `1.4.1` |\n| [com.github.gmazzo.buildconfig](https://github.com/gmazzo/gradle-buildconfig-plugin) | `5.6.7` | `6.0.9` |\n| [com.squareup.wire](https://github.com/square/wire) | `5.3.3` | `5.5.1` |\n\n\nUpdates `com.android.tools.build:gradle` from 8.11.0 to 9.1.0\n\nUpdates `com.android.application` from 8.11.0 to 9.1.0\n\nUpdates `com.android.library` from 8.11.0 to 9.1.0\n\nUpdates `com.android.test` from 8.11.0 to 9.1.0\n\nUpdates `com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin` from 2.2.0-2.0.2 to 2.3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where module recompilation would fail on Windows environments when KSP2 was enabled (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolved an issue where generated Java sources were ignored when using Android Kotlin Multiplatform with IP-compatible paths (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2744\"\u003e#2744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a KSP version 2.3.5 CI error exception that does not break build checks (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded symbol-processing-api and common-deps to compile dependencies (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the detection of built-in Kotlin by removing the reliance on KotlinBaseApiPlugin (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA back-port of a performance optimization in the Intellij / Analysis API (\u003ca href=\"https://redirect.github.com/google/ksp/pull/2785\"\u003e2785\u003c/a\u003e )\u003c/li\u003e\n\u003cli\u003eAdded support for nested typealias Kotlin language feature \u003ca href=\"https://redirect.github.com/google/ksp/issues/2588\"\u003e#2588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclude jdbc package from log4j to prevent vulnerability issue \u003ca href=\"https://redirect.github.com/google/ksp/issues/2651\"\u003e#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to \u003ca href=\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gurusai-voleti\"\u003e\u003ccode\u003e@​gurusai-voleti\u003c/code\u003e\u003c/a\u003e and everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.5...2.3.6\"\u003ehttps://github.com/google/ksp/compare/2.3.5...2.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSPCoreEnvironment.instance_prop leaks memory when used programmatically \u003ca href=\"https://redirect.github.com/google/ksp/issues/2742\"\u003e#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing first annotation argument when toByte is used \u003ca href=\"https://redirect.github.com/google/ksp/issues/2672\"\u003e#2672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix circular dependency between KSP and KAPT in AGP 9.0 \u003ca href=\"https://redirect.github.com/google/ksp/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\u003ehttps://github.com/google/ksp/compare/2.3.4...2.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP ignores sources in Kotlin directory \u003ca href=\"https://redirect.github.com/google/ksp/issues/2730\"\u003e#2730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid recording Java symbol lookups in non-incremental builds \u003ca href=\"https://redirect.github.com/google/ksp/issues/2728\"\u003e#2728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up ThreadLocals when processing is done \u003ca href=\"https://redirect.github.com/google/ksp/issues/2709\"\u003e#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.3...2.3.4\"\u003ehttps://github.com/google/ksp/compare/2.3.3...2.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate away from a deprecated compilerOptions KGP API \u003ca href=\"https://redirect.github.com/google/ksp/issues/2703\"\u003e#2703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.2...2.3.3\"\u003ehttps://github.com/google/ksp/compare/2.3.2...2.3.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\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/google/ksp/commit/a3b48e6d39e2540f680ccc478611ebf9d972c38c\"\u003e\u003ccode\u003ea3b48e6\u003c/code\u003e\u003c/a\u003e Remove redundant calls to asSequence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/a9f071945cb7688eaa93feb801c5b5b7ac60a6cb\"\u003e\u003ccode\u003ea9f0719\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c984ed3c2063e6f25741549c21432949242abf47\"\u003e\u003ccode\u003ec984ed3\u003c/code\u003e\u003c/a\u003e Test for running gradle tasks without caching in a row\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/42ff48dc95333331ded74078ac06fa5ae8092eda\"\u003e\u003ccode\u003e42ff48d\u003c/code\u003e\u003c/a\u003e Clean up file handlers (intellij)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/ff1076a7608d8aae1a62c7f78b0ec2dd0971ef05\"\u003e\u003ccode\u003eff1076a\u003c/code\u003e\u003c/a\u003e Make symbol-processing-api and common-deps compile dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/df4922bdd70391d171042f7e5b611cfcd4da3b3b\"\u003e\u003ccode\u003edf4922b\u003c/code\u003e\u003c/a\u003e Cherry-pick optimization to MockFileIndexFacade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/daa3f9da492c0354b7d9addcbc2ec9b57058f773\"\u003e\u003ccode\u003edaa3f9d\u003c/code\u003e\u003c/a\u003e Replace findPlugin with withType Gradle api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/378a29f31af3586eb977e46107b65d27b8ed3af2\"\u003e\u003ccode\u003e378a29f\u003c/code\u003e\u003c/a\u003e Improve test exception handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/593e4c394ba35fe449d904fd850debea8386f7c2\"\u003e\u003ccode\u003e593e4c3\u003c/code\u003e\u003c/a\u003e Copy sources from kotlin-compiler to override intellij-core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0be098414299942abf59422943b1290c63d22a3b\"\u003e\u003ccode\u003e0be0984\u003c/code\u003e\u003c/a\u003e Update upload-benchmark-data.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.2.0-2.0.2...2.3.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.devtools.ksp` from 2.2.0-2.0.2 to 2.3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where module recompilation would fail on Windows environments when KSP2 was enabled (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolved an issue where generated Java sources were ignored when using Android Kotlin Multiplatform with IP-compatible paths (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2744\"\u003e#2744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a KSP version 2.3.5 CI error exception that does not break build checks (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded symbol-processing-api and common-deps to compile dependencies (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the detection of built-in Kotlin by removing the reliance on KotlinBaseApiPlugin (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA back-port of a performance optimization in the Intellij / Analysis API (\u003ca href=\"https://redirect.github.com/google/ksp/pull/2785\"\u003e2785\u003c/a\u003e )\u003c/li\u003e\n\u003cli\u003eAdded support for nested typealias Kotlin language feature \u003ca href=\"https://redirect.github.com/google/ksp/issues/2588\"\u003e#2588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclude jdbc package from log4j to prevent vulnerability issue \u003ca href=\"https://redirect.github.com/google/ksp/issues/2651\"\u003e#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to \u003ca href=\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gurusai-voleti\"\u003e\u003ccode\u003e@​gurusai-voleti\u003c/code\u003e\u003c/a\u003e and everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.5...2.3.6\"\u003ehttps://github.com/google/ksp/compare/2.3.5...2.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSPCoreEnvironment.instance_prop leaks memory when used programmatically \u003ca href=\"https://redirect.github.com/google/ksp/issues/2742\"\u003e#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing first annotation argument when toByte is used \u003ca href=\"https://redirect.github.com/google/ksp/issues/2672\"\u003e#2672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix circular dependency between KSP and KAPT in AGP 9.0 \u003ca href=\"https://redirect.github.com/google/ksp/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\u003ehttps://github.com/google/ksp/compare/2.3.4...2.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP ignores sources in Kotlin directory \u003ca href=\"https://redirect.github.com/google/ksp/issues/2730\"\u003e#2730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid recording Java symbol lookups in non-incremental builds \u003ca href=\"https://redirect.github.com/google/ksp/issues/2728\"\u003e#2728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up ThreadLocals when processing is done \u003ca href=\"https://redirect.github.com/google/ksp/issues/2709\"\u003e#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.3...2.3.4\"\u003ehttps://github.com/google/ksp/compare/2.3.3...2.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate away from a deprecated compilerOptions KGP API \u003ca href=\"https://redirect.github.com/google/ksp/issues/2703\"\u003e#2703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.2...2.3.3\"\u003ehttps://github.com/google/ksp/compare/2.3.2...2.3.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\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/google/ksp/commit/a3b48e6d39e2540f680ccc478611ebf9d972c38c\"\u003e\u003ccode\u003ea3b48e6\u003c/code\u003e\u003c/a\u003e Remove redundant calls to asSequence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/a9f071945cb7688eaa93feb801c5b5b7ac60a6cb\"\u003e\u003ccode\u003ea9f0719\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c984ed3c2063e6f25741549c21432949242abf47\"\u003e\u003ccode\u003ec984ed3\u003c/code\u003e\u003c/a\u003e Test for running gradle tasks without caching in a row\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/42ff48dc95333331ded74078ac06fa5ae8092eda\"\u003e\u003ccode\u003e42ff48d\u003c/code\u003e\u003c/a\u003e Clean up file handlers (intellij)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/ff1076a7608d8aae1a62c7f78b0ec2dd0971ef05\"\u003e\u003ccode\u003eff1076a\u003c/code\u003e\u003c/a\u003e Make symbol-processing-api and common-deps compile dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/df4922bdd70391d171042f7e5b611cfcd4da3b3b\"\u003e\u003ccode\u003edf4922b\u003c/code\u003e\u003c/a\u003e Cherry-pick optimization to MockFileIndexFacade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/daa3f9da492c0354b7d9addcbc2ec9b57058f773\"\u003e\u003ccode\u003edaa3f9d\u003c/code\u003e\u003c/a\u003e Replace findPlugin with withType Gradle api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/378a29f31af3586eb977e46107b65d27b8ed3af2\"\u003e\u003ccode\u003e378a29f\u003c/code\u003e\u003c/a\u003e Improve test exception handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/593e4c394ba35fe449d904fd850debea8386f7c2\"\u003e\u003ccode\u003e593e4c3\u003c/code\u003e\u003c/a\u003e Copy sources from kotlin-compiler to override intellij-core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0be098414299942abf59422943b1290c63d22a3b\"\u003e\u003ccode\u003e0be0984\u003c/code\u003e\u003c/a\u003e Update upload-benchmark-data.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.2.0-2.0.2...2.3.6\"\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.2.0 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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-annotation-processing-embeddable` from 2.2.0 to 2.3.10\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-annotation-processing-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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-annotation-processing-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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-compiler-embeddable` from 2.2.0 to 2.3.10\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-compiler-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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-compiler-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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.2.0 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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.2.0 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (fa...\n\n_Description has been truncated_","html_url":"https://github.com/LeeroysHub/Flippy-Android/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeeroysHub%2FFlippy-Android/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4037198944","node_id":"PR_kwDORJ33Q87Ip4fe","number":66,"state":"open","title":"Bump androidx.work:work-runtime-ktx from 2.8.1 to 2.11.1 in /android","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-03-07T03:34:55.000Z","updated_at":"2026-03-07T03:36:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.1","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.8.1 to 2.11.1.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.8.1\u0026new-version=2.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdate Android WorkManager runtime KTX (androidx.work:work-runtime-ktx) from 2.8.1 to 2.11.1 to pick up bug fixes and improved scheduling reliability. Backward compatible; no app code changes expected.\n\n\u003csup\u003eWritten for commit a9d1de2ef485b5456c9543b9c2fa6f978e6f2688. Summary will update on new commits.\u003c/sup\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/Treystu/SCMessenger/pull/66","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treystu%2FSCMessenger/issues/66","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/66/packages"},{"uuid":"4010374144","node_id":"PR_kwDOJvE5fc7HSP9v","number":67,"state":"closed","title":"chore(deps): bump the androidx group with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-03T20:24:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-02T10:03:41.000Z","updated_at":"2026-03-03T20:24:14.000Z","time_to_close":123632,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"androidx","update_count":8,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.13.1","new_version":"1.17.0"},{"name":"androidx.annotation:annotation","old_version":"1.7.1","new_version":"1.9.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.0","new_version":"2.11.1"},{"name":"androidx.work:work-testing","old_version":"2.9.0","new_version":"2.11.1"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.13.1` | `1.17.0` |\n| androidx.annotation:annotation | `1.7.1` | `1.9.1` |\n| androidx.work:work-runtime-ktx | `2.9.0` | `2.11.1` |\n| androidx.work:work-testing | `2.9.0` | `2.11.1` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.4` | `2.10.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n\nUpdates `androidx.core:core-ktx` from 1.13.1 to 1.17.0\n\nUpdates `androidx.annotation:annotation` from 1.7.1 to 1.9.1\n\nUpdates `androidx.work:work-runtime-ktx` from 2.9.0 to 2.11.1\n\nUpdates `androidx.work:work-testing` from 2.9.0 to 2.11.1\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.4 to 2.10.0\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n\nUpdates `androidx.test.espresso:espresso-core` from 3.6.1 to 3.7.0\n\nUpdates `androidx.work:work-testing` from 2.9.0 to 2.11.1\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003c!-- CURSOR_SUMMARY --\u003e\n---\n\n\u003e [!NOTE]\n\u003e **Medium Risk**\n\u003e Bumps several AndroidX runtime and test libraries (Core KTX, Annotation, WorkManager, DataStore, Lifecycle, Espresso/JUnit extensions), which can introduce API/behavior changes and cause build or test regressions.\n\u003e \n\u003e **Overview**\n\u003e Updates the Gradle version catalog (`gradle/libs.versions.toml`) to newer AndroidX versions, including `core-ktx`, `annotation`, `work-runtime-ktx`/`work-testing`, `datastore-preferences`, `lifecycle-runtime-ktx`, and AndroidX test libraries (`androidx.test.ext:junit`, `espresso-core`).\n\u003e \n\u003e \u003csup\u003eWritten by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit fd1e841e16760fd2f8ebba2b7973f0ca3a40d99d. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).\u003c/sup\u003e\n\u003c!-- /CURSOR_SUMMARY --\u003e","html_url":"https://github.com/Topsort/topsort.kt/pull/67","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Topsort%2Ftopsort.kt/issues/67","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/67/packages"}],"issue_packages":[{"old_version":"2.10.0","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-05-24T04:44:39.000Z","version_change":"2.10.0 → 2.11.2","issue":{"uuid":"4510516408","node_id":"PR_kwDOSGEGis7eupQt","number":948,"state":"open","title":"build(deps): Bump the minor-and-patch group with 38 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T04:44:39.000Z","updated_at":"2026-05-24T04:45:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"minor-and-patch","update_count":38,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.18.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.core:core-splashscreen","old_version":"1.0.1","new_version":"1.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.credentials:credentials","old_version":"1.3.0","new_version":"1.6.0"},{"name":"androidx.credentials:credentials-play-services-auth","old_version":"1.3.0","new_version":"1.6.0"},{"name":"com.google.android.libraries.identity.googleid:googleid","old_version":"1.1.1","new_version":"1.2.0"},{"name":"androidx.exifinterface:exifinterface","old_version":"1.3.7","new_version":"1.4.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.8"},{"name":"androidx.hilt:hilt-navigation-compose","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-compiler","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.2"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.github.jan-tennert.supabase:bom","old_version":"3.0.3","new_version":"3.6.0","repository_url":"https://github.com/supabase-community/supabase-kt"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.0.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.sqlite:sqlite","old_version":"2.4.0","new_version":"2.6.2"},{"name":"com.google.android.play:integrity","old_version":"1.4.0","new_version":"1.6.0"},{"name":"io.mockk:mockk","old_version":"1.13.13","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"org.robolectric:robolectric","old_version":"4.14.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"androidx.test:core","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.1.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.0","new_version":"2.1.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.0","new_version":"2.1.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.0-1.0.29","new_version":"2.1.21-2.0.2","repository_url":"https://github.com/google/ksp"},{"name":"com.google.gms.google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.firebase.crashlytics","old_version":"3.0.2","new_version":"3.0.7"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 38 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.18.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.core:core-splashscreen | `1.0.1` | `1.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| androidx.credentials:credentials | `1.3.0` | `1.6.0` |\n| androidx.credentials:credentials-play-services-auth | `1.3.0` | `1.6.0` |\n| com.google.android.libraries.identity.googleid:googleid | `1.1.1` | `1.2.0` |\n| androidx.exifinterface:exifinterface | `1.3.7` | `1.4.2` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.8` |\n| androidx.hilt:hilt-navigation-compose | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-compiler | `1.2.0` | `1.3.0` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| androidx.work:work-runtime-ktx | `2.10.0` | `2.11.2` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [io.github.jan-tennert.supabase:bom](https://github.com/supabase-community/supabase-kt) | `3.0.3` | `3.6.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.0.2` | `3.5.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| androidx.sqlite:sqlite | `2.4.0` | `2.6.2` |\n| com.google.android.play:integrity | `1.4.0` | `1.6.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.13` | `1.14.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.14.1` | `4.16.1` |\n| androidx.test:core | `1.6.1` | `1.7.0` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.1.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.1.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.1.21` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.0-1.0.29` | `2.1.21-2.0.2` |\n| com.google.gms.google-services | `4.4.2` | `4.4.4` |\n| com.google.firebase.crashlytics | `3.0.2` | `3.0.7` |\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.18.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.13.0\n\nUpdates `androidx.core:core-splashscreen` from 1.0.1 to 1.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\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/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.credentials:credentials` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `com.google.android.libraries.identity.googleid:googleid` from 1.1.1 to 1.2.0\n\nUpdates `androidx.exifinterface:exifinterface` from 1.3.7 to 1.4.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.8\n\nUpdates `androidx.hilt:hilt-navigation-compose` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-work` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.room:room-runtime` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.1\n\nUpdates `androidx.work:work-runtime-ktx` from 2.10.0 to 2.11.2\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.0 \u003ca href=\"https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker\"\u003eintroduces a new feature\u003c/a\u003e aimed at helping you to catch bugs related to the accidentally ignored return value of the function.\nkotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you can get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e. To get the warnings, the feature has to be enabled in your project as \u003ca href=\"https://kotlinlang.org/docs/unused-return-value-checker.html#configure-the-unused-return-value-checker\"\u003edescribed here\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ePolymorphism improvements\u003c/h2\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/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.10.0 / 2026-01-21\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\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/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.9.0...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.9.0...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/ganeshnaik166/equipseva-android/pull/948","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshnaik166%2Fequipseva-android/issues/948","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/948/packages"}},{"old_version":"2.10.0","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-05-23T16:06:46.000Z","version_change":"2.10.0 → 2.11.2","issue":{"uuid":"4508823602","node_id":"PR_kwDOSGEGis7eptsH","number":938,"state":"closed","title":"build(deps): Bump the minor-and-patch group with 46 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-23T16:09:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T16:06:46.000Z","updated_at":"2026-05-23T16:09:28.000Z","time_to_close":154,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"minor-and-patch","update_count":46,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.18.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.core:core-splashscreen","old_version":"1.0.1","new_version":"1.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.credentials:credentials","old_version":"1.3.0","new_version":"1.6.0"},{"name":"androidx.credentials:credentials-play-services-auth","old_version":"1.3.0","new_version":"1.6.0"},{"name":"com.google.android.libraries.identity.googleid:googleid","old_version":"1.1.1","new_version":"1.2.0"},{"name":"androidx.exifinterface:exifinterface","old_version":"1.3.7","new_version":"1.4.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.8"},{"name":"com.google.dagger:hilt-android","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-testing","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger.hilt.android","old_version":"2.53.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-navigation-compose","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.hilt:hilt-compiler","old_version":"1.2.0","new_version":"1.3.0"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.2"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.github.jan-tennert.supabase:bom","old_version":"3.0.3","new_version":"3.6.0","repository_url":"https://github.com/supabase-community/supabase-kt"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.0.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.0.4","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.sqlite:sqlite","old_version":"2.4.0","new_version":"2.6.2"},{"name":"com.google.android.play:integrity","old_version":"1.4.0","new_version":"1.6.0"},{"name":"io.mockk:mockk","old_version":"1.13.13","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"org.robolectric:robolectric","old_version":"4.14.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"androidx.test:core","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"com.android.application","old_version":"8.7.3","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.0-1.0.29","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.google.gms.google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.firebase.crashlytics","old_version":"3.0.2","new_version":"3.0.7"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 46 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.18.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.core:core-splashscreen | `1.0.1` | `1.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.credentials:credentials | `1.3.0` | `1.6.0` |\n| androidx.credentials:credentials-play-services-auth | `1.3.0` | `1.6.0` |\n| com.google.android.libraries.identity.googleid:googleid | `1.1.1` | `1.2.0` |\n| androidx.exifinterface:exifinterface | `1.3.7` | `1.4.2` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.8` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-testing](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| [com.google.dagger.hilt.android](https://github.com/google/dagger) | `2.53.1` | `2.59.2` |\n| androidx.hilt:hilt-navigation-compose | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| androidx.hilt:hilt-compiler | `1.2.0` | `1.3.0` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| androidx.work:work-runtime-ktx | `2.10.0` | `2.11.2` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| [io.github.jan-tennert.supabase:bom](https://github.com/supabase-community/supabase-kt) | `3.0.3` | `3.6.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.0.2` | `3.5.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.0.4` | `3.4.0` |\n| androidx.sqlite:sqlite | `2.4.0` | `2.6.2` |\n| com.google.android.play:integrity | `1.4.0` | `1.6.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.13` | `1.14.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.14.1` | `4.16.1` |\n| androidx.test:core | `1.6.1` | `1.7.0` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| com.android.application | `8.7.3` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.0-1.0.29` | `2.3.8` |\n| com.google.gms.google-services | `4.4.2` | `4.4.4` |\n| com.google.firebase.crashlytics | `3.0.2` | `3.0.7` |\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.18.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.13.0\n\nUpdates `androidx.core:core-splashscreen` from 1.0.1 to 1.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\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/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.credentials:credentials` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `androidx.credentials:credentials-play-services-auth` from 1.3.0 to 1.6.0\n\nUpdates `com.google.android.libraries.identity.googleid:googleid` from 1.1.1 to 1.2.0\n\nUpdates `androidx.exifinterface:exifinterface` from 1.3.7 to 1.4.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.8\n\nUpdates `com.google.dagger:hilt-android` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android-compiler` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android-testing` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-testing's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger.hilt.android` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger.hilt.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android-compiler` from 2.53.1 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.57.2\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4847\"\u003e#4847\u003c/a\u003e: Fixed an issue with the Hilt Gradle Plugin registered transforms on projects using Gradle 9.0.0 (ea570e7)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4898\"\u003e#4898\u003c/a\u003e: Fixed an issue with backwards compatibility handling for libraries that export Hilt roots. (85c470ca4)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4937\"\u003e#4937\u003c/a\u003e: Fixed the incorrectly declared version of the Kotlin stdlib dependency in the Hilt Gradle Plugin. (deefd9a2d)\u003c/li\u003e\n\u003cli\u003eUpdated ASM dependency to 9.8 (365bc499d)\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.53.1...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.hilt:hilt-navigation-compose` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-work` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0\n\nUpdates `androidx.room:room-runtime` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.1\n\nUpdates `androidx.work:work-runtime-ktx` from 2.10.0 to 2.11.2\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.0 \u003ca href=\"https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker\"\u003eintroduces a new feature\u003c/a\u003e aimed at helping you to catch bugs related to the accidentally ignored return value of the function.\nkotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you can get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e. To get the warnings, the feature has to be enabled in your project as \u003ca href=\"https://kotlinlang.org/docs/unused-return-value-checker.html#configure-the-unused-return-value-checker\"\u003edescribed here\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ePolymorphism improvements\u003c/h2\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/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.10.0 / 2026-01-21\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\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/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ec...\n\n_Description has been truncated_","html_url":"https://github.com/ganeshnaik166/equipseva-android/pull/938","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshnaik166%2Fequipseva-android/issues/938","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/938/packages"}},{"old_version":"2.9.0","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-05-21T15:19:29.000Z","version_change":"2.9.0 → 2.11.2","issue":{"uuid":"4495750329","node_id":"PR_kwDOSkF_Ss7d_tSU","number":4,"state":"open","title":"chore(deps): Bump androidx.work:work-runtime-ktx from 2.9.0 to 2.11.2","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-21T15:19:29.000Z","updated_at":"2026-05-21T16:12:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.0","new_version":"2.11.2","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.9.0 to 2.11.2.\n","html_url":"https://github.com/estebancastelblanco/kmp-production-sample-v2/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebancastelblanco%2Fkmp-production-sample-v2/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"2.9.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-05-21T03:23:20.000Z","version_change":"2.9.1 → 2.11.2","issue":{"uuid":"4491465872","node_id":"PR_kwDOSjixS87dxu0l","number":2,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T09:57:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T03:23:20.000Z","updated_at":"2026-05-24T09:57:45.000Z","time_to_close":282856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.22"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.6","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.7"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.3.0","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha07"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.9","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.3","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.1"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.5.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.2.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.5.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.22` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.6` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.7` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.3.0` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha07` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.9` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.3` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.8` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.1` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\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/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.2.1\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.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!-- 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.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` from 2.0.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.0.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-serialization` from 2.0.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-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:kotlin-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.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.0.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!-- 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.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` from 2.0.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/...\n\n_Description has been truncated_","html_url":"https://github.com/Hanunnisasalsabila/IvyWallet_UserFirst/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hanunnisasalsabila%2FIvyWallet_UserFirst/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"2.8.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-05-15T22:30:05.000Z","version_change":"2.8.1 → 2.11.2","issue":{"uuid":"4457338836","node_id":"PR_kwDOSJiM5s7cFmHZ","number":8,"state":"closed","title":"Bump the ivy-wallet group with 70 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T11:14:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-15T22:30:05.000Z","updated_at":"2026-05-20T11:14:26.000Z","time_to_close":391451,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":70,"packages":[{"name":"gradle-wrapper","old_version":"8.4","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.1.2","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"1.9.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"1.9.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"1.9.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.6","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.6.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.5","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.8","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.1","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.1","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.1","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-framework-datatest","old_version":"5.7.2","new_version":"5.9.1","repository_url":"https://github.com/kotest/kotest"},{"name":"app.cash.molecule:molecule-gradle-plugin","old_version":"1.2.1","new_version":"1.4.3","repository_url":"https://github.com/cashapp/molecule"},{"name":"app.cash.turbine:turbine","old_version":"1.0.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"androidx.compose.animation:animation","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.foundation:foundation","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.runtime:runtime","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.ui:ui","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.5.3","new_version":"1.11.1"},{"name":"androidx.compose.material3:material3","old_version":"1.1.2","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.1.2","new_version":"1.4.0"},{"name":"androidx.activity:activity-compose","old_version":"1.8.0","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.6.2","new_version":"2.10.0"},{"name":"io.coil-kt:coil-compose","old_version":"2.4.0","new_version":"2.7.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.glance:glance","old_version":"1.0.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.0.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.0.0","new_version":"1.1.1"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.0.0","new_version":"1.2.1"},{"name":"androidx.room:room-runtime","old_version":"2.6.0-rc01","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.0-rc01","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.0-rc01","new_version":"2.8.4"},{"name":"com.google.dagger:hilt-android","old_version":"2.48.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.48.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.48.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.0.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.0","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-auth","old_version":"20.7.0","new_version":"21.5.1"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"18.4.3","new_version":"20.0.6","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"2.9.9","new_version":"3.0.7"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha07"},{"name":"androidx.activity:activity-ktx","old_version":"1.8.0","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0-alpha03","new_version":"1.8.0-alpha01"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.8.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.1","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.10.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.notkamui.libs:keval","old_version":"0.9.0","new_version":"1.1.1","repository_url":"https://github.com/notKamui/Keval"},{"name":"com.opencsv:opencsv","old_version":"5.8","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.13.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.1","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.1","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.3.0","new_version":"0.5.8","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.2.0","new_version":"1.4.3","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"1.9.10-1.0.13","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 70 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.4` | `9.5.1` |\n| com.android.tools.build:gradle | `8.1.2` | `9.2.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `1.9.10` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `1.9.10` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `1.9.10` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.6` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.6.0` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.5` | `3.5.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.8` | `1.14.9` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.1` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.1` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.1` | `2.0.0` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [io.kotest:kotest-framework-datatest](https://github.com/kotest/kotest) | `5.7.2` | `5.9.1` |\n| [app.cash.molecule:molecule-gradle-plugin](https://github.com/cashapp/molecule) | `1.2.1` | `1.4.3` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.0.0` | `1.2.1` |\n| androidx.compose.animation:animation | `1.5.3` | `1.11.1` |\n| androidx.compose.foundation:foundation | `1.5.3` | `1.11.1` |\n| androidx.compose.runtime:runtime | `1.5.3` | `1.11.1` |\n| androidx.compose.runtime:runtime-livedata | `1.5.3` | `1.11.1` |\n| androidx.compose.ui:ui | `1.5.3` | `1.11.1` |\n| androidx.compose.ui:ui-tooling | `1.5.3` | `1.11.1` |\n| androidx.compose.material3:material3 | `1.1.2` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.1.2` | `1.4.0` |\n| androidx.activity:activity-compose | `1.8.0` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.6.2` | `2.10.0` |\n| [io.coil-kt:coil-compose](https://github.com/coil-kt/coil) | `2.4.0` | `2.7.0` |\n| androidx.glance:glance | `1.0.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.0.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.0.0` | `1.1.1` |\n| androidx.datastore:datastore-preferences | `1.0.0` | `1.2.1` |\n| androidx.room:room-runtime | `2.6.0-rc01` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.0-rc01` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.0-rc01` | `2.8.4` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.48.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.48.1` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.48.1` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.0.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.0` | `4.4.4` |\n| com.google.android.gms:play-services-auth | `20.7.0` | `21.5.1` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `18.4.3` | `20.0.6` |\n| com.google.firebase:firebase-crashlytics-gradle | `2.9.9` | `3.0.7` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha07` |\n| androidx.activity:activity-ktx | `1.8.0` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0-alpha03` | `1.8.0-alpha01` |\n| androidx.work:work-runtime-ktx | `2.8.1` | `2.11.2` |\n| androidx.work:work-testing | `2.8.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.1` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.10.0` | `1.14.0` |\n| [com.notkamui.libs:keval](https://github.com/notKamui/Keval) | `0.9.0` | `1.1.1` |\n| com.opencsv:opencsv | `5.8` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.13.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.1` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.1` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.3.0` | `0.5.8` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.2.0` | `1.4.3` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `1.9.10-1.0.13` | `2.3.8` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n\nUpdates `gradle-wrapper` from 8.4 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\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/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.1.2 to 9.2.1\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.9.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/v1.9.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-stdlib` from 1.9.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'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/v1.9.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-serialization` from 1.9.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-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:kotlin-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.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-stdlib` from 1.9.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'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/v1.9.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.kotlinx:kotlinx-coroutines-core` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions...\n\n_Description has been truncated_","html_url":"https://github.com/Mihael20/MihaelWallet/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mihael20%2FMihaelWallet/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"2.10.0","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-05-12T23:35:47.000Z","version_change":"2.10.0 → 2.11.2","issue":{"uuid":"4433372310","node_id":"PR_kwDORJ2tSc7a4wvQ","number":14,"state":"closed","title":"build(deps): bump androidx.work:work-runtime-ktx from 2.10.0 to 2.11.2","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-28T09:57:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T23:35:47.000Z","updated_at":"2026-05-28T09:57:49.000Z","time_to_close":1333313,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.2","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.10.0 to 2.11.2.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.10.0\u0026new-version=2.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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/Darknetzz/jotty-android/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Darknetzz%2Fjotty-android/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"2.9.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-05-05T01:14:31.000Z","version_change":"2.9.1 → 2.11.2","issue":{"uuid":"4380786887","node_id":"PR_kwDOM9q9Ac7YOZ_W","number":159,"state":"closed","title":"Bump the ivy-wallet group with 79 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-09T09:17:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-05T01:14:31.000Z","updated_at":"2026-05-09T09:17:54.000Z","time_to_close":374595,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":79,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.22"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.5","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.7"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha07"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.8","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.1"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 79 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.5.0` |\n| com.android.tools.build:gradle | `8.5.2` | `9.2.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.3` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.22` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.5` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.7` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha07` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.8` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.7` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.1` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\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/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.2.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.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!-- 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.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` from 2.0.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.0.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-serialization` from 2.0.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-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:kotlin-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.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.0.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!-- 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.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` from 2.0.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/kot...\n\n_Description has been truncated_","html_url":"https://github.com/Mystour/ivy-wallet/pull/159","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mystour%2Fivy-wallet/issues/159","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/159/packages"}},{"old_version":"2.8.1","new_version":"2.11.2","update_type":"minor","path":"/android","pr_created_at":"2026-04-29T01:41:17.000Z","version_change":"2.8.1 → 2.11.2","issue":{"uuid":"4347312688","node_id":"PR_kwDORJ33Q87Wi6Gd","number":100,"state":"open","title":"build(deps): bump androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2 in /android","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-29T01:41:17.000Z","updated_at":"2026-04-29T01:42:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.2","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.8.1\u0026new-version=2.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdate `androidx.work:work-runtime-ktx` from 2.8.1 to 2.11.2 to pull in the latest WorkManager fixes and improvements. Keeps the Android background work stack current with recent AndroidX releases.\n\n\u003csup\u003eWritten for commit 3ad2ff519dba52a1f7f2a0f3f4965379cb4b6593. Summary will update on new commits. \u003ca href=\"https://cubic.dev/pr/Treystu/SCMessenger/pull/100?utm_source=github\"\u003eReview in cubic\u003c/a\u003e\u003c/sup\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/Treystu/SCMessenger/pull/100","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treystu%2FSCMessenger/issues/100","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/100/packages"}},{"old_version":"2.9.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-04-20T22:09:23.000Z","version_change":"2.9.1 → 2.11.2","issue":{"uuid":"4298985011","node_id":"PR_kwDOSIDnes7UHYqs","number":3,"state":"open","title":"build(deps): bump the android-dependencies group across 1 directory with 20 updates","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-20T22:09:23.000Z","updated_at":"2026-05-01T22:44:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-dependencies","update_count":20,"packages":[{"name":"com.android.tools.build:gradle","old_version":"8.2.2","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"1.9.25","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.core:core-ktx","old_version":"1.13.1","new_version":"1.18.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.7.0","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.8.2","new_version":"1.13.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.01.00","new_version":"2026.04.01"},{"name":"net.java.dev.jna:jna","old_version":"5.14.0","new_version":"5.18.1","repository_url":"https://github.com/java-native-access/jna"},{"name":"androidx.security:security-crypto","old_version":"1.1.0-alpha06","new_version":"1.1.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.7.7","new_version":"2.9.8"},{"name":"io.mockk:mockk","old_version":"1.13.10","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.7.3","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"androidx.test:rules","old_version":"1.5.0","new_version":"1.7.0"},{"name":"androidx.test.ext:junit","old_version":"1.1.5","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.5.1","new_version":"3.7.0"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"12.1.0","new_version":"14.2.0"},{"name":"io.gitlab.arturbosch.detekt","old_version":"1.23.5","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"gradle-wrapper","old_version":"8.5","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-dependencies group with 18 updates in the /android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.tools.build:gradle | `8.2.2` | `9.2.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.3.21` |\n| androidx.core:core-ktx | `1.13.1` | `1.18.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.7.0` | `2.10.0` |\n| androidx.activity:activity-compose | `1.8.2` | `1.13.0` |\n| androidx.compose:compose-bom | `2025.01.00` | `2026.04.01` |\n| [net.java.dev.jna:jna](https://github.com/java-native-access/jna) | `5.14.0` | `5.18.1` |\n| androidx.security:security-crypto | `1.1.0-alpha06` | `1.1.0` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.navigation:navigation-compose | `2.7.7` | `2.9.8` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.10` | `1.14.9` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.7.3` | `1.10.2` |\n| androidx.test:rules | `1.5.0` | `1.7.0` |\n| androidx.test.ext:junit | `1.1.5` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.5.1` | `3.7.0` |\n| org.jlleitschuh.gradle.ktlint | `12.1.0` | `14.2.0` |\n| [io.gitlab.arturbosch.detekt](https://github.com/detekt/detekt) | `1.23.5` | `1.23.8` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.5` | `9.5.0` |\n\n\nUpdates `com.android.tools.build:gradle` from 8.2.2 to 9.2.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.9.25 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/v1.9.25...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.13.1 to 1.18.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.7.0 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.8.2 to 1.13.0\n\nUpdates `androidx.compose:compose-bom` from 2025.01.00 to 2026.04.01\n\nUpdates `net.java.dev.jna:jna` from 5.14.0 to 5.18.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/java-native-access/jna/blob/master/CHANGES.md\"\u003enet.java.dev.jna:jna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 5.18.1\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1686\"\u003e#1686\u003c/a\u003e: Fix \u003ccode\u003esortFields\u003c/code\u003e race condition while getting fields - \u003ca href=\"https://github.com/bendk\"\u003e\u003ccode\u003e@​bendk\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.18.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1671\"\u003e#1671\u003c/a\u003e: Add \u003ccode\u003eisRISCV\u003c/code\u003e to \u003ccode\u003ec.s.j.Platform\u003c/code\u003e - \u003ca href=\"https://github.com/Glavo\"\u003e\u003ccode\u003e@​Glavo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1672\"\u003e#1672\u003c/a\u003e: Add \u003ccode\u003eCFLocale\u003c/code\u003e, \u003ccode\u003eCFLocaleCopyCurrent\u003c/code\u003e, \u003ccode\u003eCFCFDateFormatter\u003c/code\u003e, \u003ccode\u003eCFDateFormatterStyle\u003c/code\u003e, \u003ccode\u003eCFDateFormatterCreate\u003c/code\u003e and \u003ccode\u003eCFDateFormatterGetFormat\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac.CoreFoundation\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1669\"\u003e#1669\u003c/a\u003e: Document requirement for running on JDK 24+ - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1681\"\u003e#1681\u003c/a\u003e: Fix deadlock in Structure constructor introduced in 5.16.0 - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​brettwooldridge\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1683\"\u003e#1683\u003c/a\u003e: Fix native build error on Xcode 16.3 / Apple Clang 17 - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​brettwooldridge\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.17.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1658\"\u003e#1658\u003c/a\u003e:  Add win32 power event constants, types, and functions - \u003ca href=\"https://github.com/eranl\"\u003e\u003ccode\u003e@​eranl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1647\"\u003e#1647\u003c/a\u003e: Fix calls to jnidispatch on Android with 16KB page size (part 2) - \u003ca href=\"https://github.com/BugsBeGone\"\u003e\u003ccode\u003e@​BugsBeGone\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.16.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1626\"\u003e#1626\u003c/a\u003e: Add caching of field list and field validation in \u003ccode\u003eStructure\u003c/code\u003e along with more efficient reentrant read-write locking instead of synchronized() blocks - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​BrettWooldridge\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1618\"\u003e#1618\u003c/a\u003e: Fix calls to jnidispatch on Android with 16KB page size - \u003ca href=\"https://github.com/Thomyrock\"\u003e\u003ccode\u003e@​Thomyrock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.15.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\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/java-native-access/jna/commit/3c493c1642b1555d541755e0984c968ba6c0f540\"\u003e\u003ccode\u003e3c493c1\u003c/code\u003e\u003c/a\u003e Release 5.18.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/e3838d5396db7b76d45ec44ad3a121f3ba9e164b\"\u003e\u003ccode\u003ee3838d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1680\"\u003e#1680\u003c/a\u003e from java-native-access/dependabot/github_actions/gi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/5cac36169eb88f373c709c292c1c4dc36b6f73c8\"\u003e\u003ccode\u003e5cac361\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/5511f281d0b59a6dc79c40e62b194cd1da738ae8\"\u003e\u003ccode\u003e5511f28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1687\"\u003e#1687\u003c/a\u003e from bendk/push-yyprxvvrrttk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/c401bca07c3e22ff3ba3ab99fbdbd3b9e772c1ef\"\u003e\u003ccode\u003ec401bca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1690\"\u003e#1690\u003c/a\u003e from jonalmeida/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/6e7e828eb8ffed1085f49503a293b9398e1437fb\"\u003e\u003ccode\u003e6e7e828\u003c/code\u003e\u003c/a\u003e Update recommended Android proguard rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/b665e9e6a2752aba2dcb9a73b00c086a5122f595\"\u003e\u003ccode\u003eb665e9e\u003c/code\u003e\u003c/a\u003e Avoid threading issues in sortFields (\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1686\"\u003e#1686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/0da700d3005d2a3fc332c47fae93b16b320f51af\"\u003e\u003ccode\u003e0da700d\u003c/code\u003e\u003c/a\u003e Prepare next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/285632fa6e4c4f8c49cfad059c76107b64d2a039\"\u003e\u003ccode\u003e285632f\u003c/code\u003e\u003c/a\u003e Release 5.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/77fe152e751fcaaf82f8a14c59a2f25f136f503c\"\u003e\u003ccode\u003e77fe152\u003c/code\u003e\u003c/a\u003e Support/Prepare deployment to new maven central repository\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/java-native-access/jna/compare/5.14.0...5.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.7.0 to 2.10.0\n\nUpdates `androidx.security:security-crypto` from 1.1.0-alpha06 to 1.1.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.9.1 to 2.11.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.7.7 to 2.9.8\n\nUpdates `io.mockk:mockk` from 1.13.10 to 1.14.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix configuration option example for restricted classes by \u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1465\"\u003emockk/mockk#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InaccessibleObjectException when spying on JDK interfaces on JDK 16+ by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Java 11 compatibility: replace Random.nextLong(long, long) with Java 8 compatible alternative by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1456\"\u003emockk/mockk#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional restricted mock system property by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError when mocking methods returning ArrayList by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1464\"\u003emockk/mockk#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange JUnit 4/5 dependencies from implementation to compileOnly by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1455\"\u003emockk/mockk#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump dependencies, bump dexter by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue 1475: nullable value class verification by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1480\"\u003emockk/mockk#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate build configuration to version catalog by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1481\"\u003emockk/mockk#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up CI configuration and build artifacts by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1482\"\u003emockk/mockk#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Spotless formatting plugin by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1483\"\u003emockk/mockk#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable ktlint unused-imports rule and clean up code by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1489\"\u003emockk/mockk#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enable no-wildcard-imports in ktlint by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1491\"\u003emockk/mockk#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd List injection support for \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1356\"\u003e#1356\u003c/a\u003e) by \u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify settings files by prioritizing mockk.properties in MockKSettings by \u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type matching for any() when parameter is Any  (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1296\"\u003e#1296\u003c/a\u003e) by \u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Dokka to 2.1.0 and Refactor Documentation Setup by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1499\"\u003emockk/mockk#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump gradle to 9.3.0, add .gitattributes by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1502\"\u003emockk/mockk#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1342\"\u003e#1342\u003c/a\u003e: Handle value classes for type parameters and don't unbox value classes returned as interface/supertype by \u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce clearAllStubsFromMemory by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1503\"\u003emockk/mockk#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dokka to 2.2.0-Beta by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1505\"\u003emockk/mockk#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e initialization order based on dependencies by \u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.6...1.14.9\"\u003ehttps://github.com/mockk/mockk/compare/1.14.6...1.14.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.14.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\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/mockk/mockk/commit/71a8e21be4d2f443848cf552685ffe62aeb5f3ca\"\u003e\u003ccode\u003e71a8e21\u003c/code\u003e\u003c/a\u003e Release v1.14.9 and bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/cd84546921adf9c91c6635396b5c6c13263f3a0d\"\u003e\u003ccode\u003ecd84546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1500\"\u003e#1500\u003c/a\u003e from neungs-2/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/79b507adc690a7b62dc879bc198e3088fef0b845\"\u003e\u003ccode\u003e79b507a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1505\"\u003e#1505\u003c/a\u003e from jgrnrt/fix-dokka-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/373f95b88cca5bd60cfdf16d5ac1c4b64d89d5d6\"\u003e\u003ccode\u003e373f95b\u003c/code\u003e\u003c/a\u003e bump dokka to 2.2.0-Beta to fix \u0026quot;ERROR CLASS: Symbol not found\u0026quot; in generated ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/dbd755cbd67779c72c3ab86600d364aea3bcd679\"\u003e\u003ccode\u003edbd755c\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/e4ff90b320ad73f9e61bf1b3758cb3028ec64aad\"\u003e\u003ccode\u003ee4ff90b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1503\"\u003e#1503\u003c/a\u003e from nishatoma/add-clear-memory-method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/4a7d48190154a4d2a22b6066c9a0bd387f1ea356\"\u003e\u003ccode\u003e4a7d481\u003c/code\u003e\u003c/a\u003e fix: add backward compatible method for MockInitializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/db40a015c8c28704036a12b4a5069ba16a1c2af2\"\u003e\u003ccode\u003edb40a01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1442\"\u003e#1442\u003c/a\u003e from ianbrandt/issue-1342\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/9249fbfc0b935ec108e2642a46a8b5aec1f94313\"\u003e\u003ccode\u003e9249fbf\u003c/code\u003e\u003c/a\u003e Replaced \u003ccode\u003eMethodHandle\u003c/code\u003e usage with \u003ccode\u003eMethod\u003c/code\u003e for value class unboxing to suppo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/a34d4d9b4823f65b14a0e8c791438dd3e92982d2\"\u003e\u003ccode\u003ea34d4d9\u003c/code\u003e\u003c/a\u003e Updated the \u003ccode\u003e:test-modules:client-tests\u003c/code\u003e Kotlinx Coroutines dependency versio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockk/mockk/compare/1.13.10...1.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.mockk:mockk-agent-jvm` from 1.13.10 to 1.14.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk-agent-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix configuration option example for restricted classes by \u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1465\"\u003emockk/mockk#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InaccessibleObjectException when spying on JDK interfaces on JDK 16+ by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Java 11 compatibility: replace Random.nextLong(long, long) with Java 8 compatible alternative by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1456\"\u003emockk/mockk#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional restricted mock system property by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError when mocking methods returning ArrayList by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1464\"\u003emockk/mockk#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange JUnit 4/5 dependencies from implementation to compileOnly by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1455\"\u003emockk/mockk#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump dependencies, bump dexter by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue 1475: nullable value class verification by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1480\"\u003emockk/mockk#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate build configuration to version catalog by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1481\"\u003emockk/mockk#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up CI configuration and build artifacts by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1482\"\u003emockk/mockk#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Spotless formatting plugin by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1483\"\u003emockk/mockk#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable ktlint unused-imports rule and clean up code by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1489\"\u003emockk/mockk#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enable no-wildcard-imports in ktlint by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1491\"\u003emockk/mockk#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd List injection support for \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1356\"\u003e#1356\u003c/a\u003e) by \u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify settings files by prioritizing mockk.properties in MockKSettings by \u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type matching for any() when parameter is Any  (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1296\"\u003e#1296\u003c/a\u003e) by \u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Dokka to 2.1.0 and Refactor Documentation Setup by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1499\"\u003emockk/mockk#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump gradle to 9.3.0, add .gitattributes by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1502\"\u003emockk/mockk#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1342\"\u003e#1342\u003c/a\u003e: Handle value classes for type parameters and don't unbox value classes returned as interface/supertype by \u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce clearAllStubsFromMemory by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1503\"\u003emockk/mockk#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dokka to 2.2.0-Beta by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1505\"\u003emockk/mockk#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e initialization order based on dependencies by \u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.6...1.14.9\"\u003ehttps://github.com/mockk/mockk/compare/1.14.6...1.14.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.14.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\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/mockk/mockk/commit/71a8e21be4d2f443848cf552685ffe62aeb5f3ca\"\u003e\u003ccode\u003e71a8e21\u003c/code\u003e\u003c/a\u003e Release v1.14.9 and bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/cd84546921adf9c91c6635396b5c6c13263f3a0d\"\u003e\u003ccode\u003ecd84546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1500\"\u003e#1500\u003c/a\u003e from neungs-2/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/79b507adc690a7b62dc879bc198e3088fef0b845\"\u003e\u003ccode\u003e79b507a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1505\"\u003e#1505\u003c/a\u003e from jgrnrt/fix-dokka-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/373f95b88cca5bd60cfdf16d5ac1c4b64d89d5d6\"\u003e\u003ccode\u003e373f95b\u003c/code\u003e\u003c/a\u003e bump dokka to 2.2.0-Beta to fix \u0026quot;ERROR CLASS: Symbol not found\u0026quot; in generated ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/dbd755cbd67779c72c3ab86600d364aea3bcd679\"\u003e\u003ccode\u003edbd755c\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/e4ff90b320ad73f9e61bf1b3758cb3028ec64aad\"\u003e\u003ccode\u003ee4ff90b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1503\"\u003e#1503\u003c/a\u003e from nishatoma/add-clear-memory-method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/4a7d48190154a4d2a22b6066c9a0bd387f1ea356\"\u003e\u003ccode\u003e4a7d481\u003c/code\u003e\u003c/a\u003e fix: add backward compatible method for MockInitializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/db40a015c8c28704036a12b4a5069ba16a1c2af2\"\u003e\u003ccode\u003edb40a01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1442\"\u003e#1442\u003c/a\u003e from ianbrandt/issue-1342\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/9249fbfc0b935ec108e2642a46a8b5aec1f94313\"\u003e\u003ccode\u003e9249fbf\u003c/code\u003e\u003c/a\u003e Replaced \u003ccode\u003eMethodHandle\u003c/code\u003e usage with \u003ccode\u003eMethod\u003c/code\u003e for value class unboxing to suppo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/a34d4d9b4823f65b14a0e8c791438dd3e92982d2\"\u003e\u003ccode\u003ea34d4d9\u003c/code\u003e\u003c/a\u003e Updated the \u003ccode\u003e:test-modules:client-tests\u003c/code\u003e Kotlinx Coroutines dependency versio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockk/mockk/compare/1.13.10...1.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.7.3 to 1.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed binary incompatibility introduced for non-JVM targets in \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4261\"\u003e#4261\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4309\"\u003e#4309\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4284\"\u003e#4284\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduced \u003ccode\u003eFlow.any\u003c/code\u003e, \u003ccode\u003eFlow.all\u003c/code\u003e, and \u003ccode\u003eFlow.none\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4212\"\u003e#4212\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/CLOVIS-AI\"\u003e\u003ccode\u003e@​CLOVIS-AI\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReorganized \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e and \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e code to avoid a split package between the two artifacts (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4247\"\u003e#4247\u003c/a\u003e). Note that directly referencing \u003ccode\u003ekotlinx.coroutines.debug.AgentPremain\u003c/code\u003e must now be replaced with \u003ccode\u003ekotlinx.coroutines.debug.internal.AgentPremain\u003c/code\u003e. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eNo longer shade byte-buddy in \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e, reducing the artifact size and simplifying the build configuration of client code. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eNullPointerException\u003c/code\u003e when using Java-deserialized \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e exceptions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4291\"\u003e#4291\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/AlexRiedler\"\u003e\u003ccode\u003e@​AlexRiedler\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eProperly report exceptions thrown by \u003ccode\u003eCoroutineDispatcher.dispatch\u003c/code\u003e instead of raising internal errors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4091\"\u003e#4091\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/zuevmaxim\"\u003e\u003ccode\u003e@​zuevmaxim\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that delayed scheduling of a \u003ccode\u003eDispatchers.Default\u003c/code\u003e or \u003ccode\u003eDispatchers.IO\u003c/code\u003e task after a \u003ccode\u003eyield()\u003c/code\u003e in rare scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4248\"\u003e#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented the \u003ccode\u003emain()\u003c/code\u003e coroutine on Wasm/WASI from executing after a \u003ccode\u003edelay()\u003c/code\u003e call in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4239\"\u003e#4239\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed scheduling of \u003ccode\u003erunBlocking\u003c/code\u003e tasks on Kotlin/Native that arrive after the \u003ccode\u003erunBlocking\u003c/code\u003e block was exited (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4245\"\u003e#4245\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed some terminal \u003ccode\u003eFlow\u003c/code\u003e operators sometimes resuming without taking cancellation into account (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4254\"\u003e#4254\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/jxdabc\"\u003e\u003ccode\u003e@​jxdabc\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug on the JVM that caused coroutine-bound \u003ccode\u003eThreadLocal\u003c/code\u003e values not to get cleaned when using non-\u003ccode\u003eCoroutineDispatcher\u003c/code\u003e continuation interceptors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4296\"\u003e#4296\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWasm/WASI target support (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064\"\u003e#4064\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/igoriakovlev\"\u003e\u003ccode\u003e@​igoriakovlev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elimitedParallelism\u003c/code\u003e now optionally accepts the name of the dispatcher view for easier debugging (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023\"\u003e#4023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNo longer initialize \u003ccode\u003eDispatchers.IO\u003c/code\u003e on the JVM when other standard dispatchers are accessed (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166\"\u003e#4166\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/metalhead8816\"\u003e\u003ccode\u003e@​metalhead8816\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eIntroduced the \u003ccode\u003eFlow\u0026lt;T\u0026gt;.chunked(size: Int): Flow\u0026lt;List\u0026lt;T\u0026gt;\u0026gt;\u003c/code\u003e operator that groups emitted values into groups of the given size (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290\"\u003e#1290\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCloseable dispatchers are instances of \u003ccode\u003eAutoCloseable\u003c/code\u003e now (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123\"\u003e#4123\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCalling \u003ccode\u003ehasNext\u003c/code\u003e on a \u003ccode\u003eChannel\u003c/code\u003e's iterator is idempotent (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065\"\u003e#4065\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/gitpaxultek\"\u003e\u003ccode\u003e@​gitpaxultek\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCoroutineScope()\u003c/code\u003e created without an explicit dispatcher uses \u003ccode\u003eDispatchers.Default\u003c/code\u003e on Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074\"\u003e#4074\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/whyoleg\"\u003e\u003ccode\u003e@​whyoleg\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented non-Android \u003ccode\u003eDispatchers.Main\u003c/code\u003e from initializing when the Firebase dependency is used (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914\"\u003e#3914\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnsured a more intuitive ordering of tasks in \u003ccode\u003erunBlocking\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134\"\u003e#4134\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eForbid casting a \u003ccode\u003eMutex\u003c/code\u003e to \u003ccode\u003eSemaphore\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176\"\u003e#4176\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eWorked around a stack overflow that may occur when calling \u003ccode\u003easDeferred\u003c/code\u003e on a \u003ccode\u003eFuture\u003c/code\u003e many times (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations and promotions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdvanced the deprecation levels for \u003ccode\u003eBroadcastChannel\u003c/code\u003e-based API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197\"\u003e#4197\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels for the old \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198\"\u003e#4198\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eJob.cancelFutureOnCompletion\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4173\"\u003e#4173\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePromoted \u003ccode\u003eCoroutineDispatcher.limitedParallelism\u003c/code\u003e to stable (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3864\"\u003e#3864\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePromoted \u003ccode\u003eCoroutineStart.ATOMIC\u003c/code\u003e from \u003ccode\u003eExperimentalCoroutinesApi\u003c/code\u003e to \u003ccode\u003eDelicateCoroutinesApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4169\"\u003e#4169\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePromoted \u003ccode\u003eCancellableContinuation.resume\u003c/code\u003e with an \u003ccode\u003eonCancellation\u003c/code\u003e lambda to stable, providing extra arguments to the lambda (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4088\"\u003e#4088\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed binary incompatibility introduced for non-JVM targets in \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4261\"\u003e#4261\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4309\"\u003e#4309\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4284\"\u003e#4284\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduced \u003ccode\u003eFlow.any\u003c/code\u003e, \u003ccode\u003eFlow.all\u003c/code\u003e, and \u003ccode\u003eFlow.none\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4212\"\u003e#4212\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/CLOVIS-AI\"\u003e\u003ccode\u003e@​CLOVIS-AI\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReorganized \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e and \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e code to avoid a split package between the two artifacts (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4247\"\u003e#4247\u003c/a\u003e). Note that directly referencing \u003ccode\u003ekotlinx.coroutines.debug.AgentPremain\u003c/code\u003e must now be replaced with \u003ccode\u003ekotlinx.coroutines.debug.internal.AgentPremain\u003c/code\u003e. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eNo longer shade byte-buddy in \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e, reducing the artifact size and simplifying the build configuration of client code. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eNullPointerException\u003c/code\u003e when using Java-deserialized \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e exceptions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4291\"\u003e#4291\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/AlexRiedler\"\u003e\u003ccode\u003e@​AlexRiedler\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eProperly report exceptions thrown by \u003ccode\u003eCoroutineDispatcher.dispatch\u003c/code\u003e instead of raising internal errors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4091\"\u003e#4091\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/zuevmaxim\"\u003e\u003ccode\u003e@​zuevmaxim\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that delayed scheduling of a \u003ccode\u003eDispatchers.Default\u003c/code\u003e or \u003ccode\u003eDispatchers.IO\u003c/code\u003e task after a \u003ccode\u003eyield()\u003c/code\u003e in rare scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4248\"\u003e#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented the \u003ccode\u003emain()\u003c/code\u003e coroutine on Wasm/WASI from executing after a \u003ccode\u003edelay()\u003c/code\u003e call in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4239\"\u003e#4239\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed scheduling of \u003ccode\u003erunBlocking\u003c/code\u003e tasks on Kotlin/Native that arrive after the \u003ccode\u003erunBlocking\u003c/code\u003e block was exited (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4245\"\u003e#4245\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed some terminal \u003ccode\u003eFlow\u003c/code\u003e operators sometimes resuming without taking cancellation into account (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4254\"\u003e#4254\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/jxdabc\"\u003e\u003ccode\u003e@​jxdabc\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug on the JVM that caused coroutine-bound \u003ccode\u003eThreadLocal\u003c/code\u003e values not to get cleaned when using non-\u003ccode\u003eCoroutineDispatcher\u003c/code\u003e continuation interceptors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4296\"\u003e#4296\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWasm/WASI target support (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064\"\u003e#4064\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/igoriakovlev\"\u003e\u003ccode\u003e@​igoriakovlev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elimitedParallelism\u003c/code\u003e now optionally accepts the name of the dispatcher view for easier debugging (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023\"\u003e#4023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNo longer initialize \u003ccode\u003eDispatchers.IO\u003c/code\u003e on the JVM when other standard dispatchers are accessed (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166\"\u003e#4166\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/metalhead8816\"\u003e\u003ccode\u003e@​metalhead8816\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eIntroduced the \u003ccode\u003eFlow\u0026lt;T\u0026gt;.chunked(size: Int): Flow\u0026lt;List\u0026lt;T\u0026gt;\u0026gt;\u003c/code\u003e operator that groups emitted values into groups of the given size (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290\"\u003e#1290\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCloseable dispatchers are instances of \u003ccode\u003eAutoCloseable\u003c/code\u003e now (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123\"\u003e#4123\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCalling \u003ccode\u003ehasNext\u003c/code\u003e on a \u003ccode\u003eChannel\u003c/code\u003e's iterator is idempotent (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065\"\u003e#4065\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/gitpaxultek\"\u003e\u003ccode\u003e@​gitpaxultek\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCoroutineScope()\u003c/code\u003e created without an explicit dispatcher uses \u003ccode\u003eDispatchers.Default\u003c/code\u003e on Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074\"\u003e#4074\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/whyoleg\"\u003e\u003ccode\u003e@​whyoleg\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented non-Android \u003ccode\u003eDispatchers.Main\u003c/code\u003e from initializing when the Firebase dependency is used (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914\"\u003e#3914\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnsured a more intuitive ordering of tasks in \u003ccode\u003erunBlocking\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134\"\u003e#4134\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eForbid casting a \u003ccode\u003eMutex\u003c/code\u003e to \u003ccode\u003eSemaphore\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176\"\u003e#4176\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eWorked around a stack overflow that may occur when calling \u003ccode\u003easDeferred\u003c/code\u003e on a \u003ccode\u003eFuture\u003c/code\u003e many times (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156\"\u003e#4156\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations and promotions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdvanced the deprecation levels for \u003ccode\u003eBroadcastChannel\u003c/code\u003e-based API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197\"\u003e#4197\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels for the old \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e API (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198\"\u003e#4198\u003c/a\u003e).\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/Kotlin/kotlinx.coroutines/commit/5f8900478a8e20c073145b1608fbc71fe3d7378b\"\u003e\u003ccode\u003e5f89004\u003c/code\u003e\u003c/a\u003e Version 1.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/1a8de2e451e0a2c650538e62e7c7e591970d28b1\"\u003e\u003ccode\u003e1a8de2e\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e9b247e84a43fac5759e2cf69733e25f23d7eb17\"\u003e\u003ccode\u003ee9b247e\u003c/code\u003e\u003c/a\u003e Advertise source jars for JVM-only libraries (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4394\"\u003e#4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/6baf7c821ed9d7ee5db8b6353c24bcf614fc1826\"\u003e\u003ccode\u003e6baf7c8\u003c/code\u003e\u003c/a\u003e Restore Android compatibility in \u003ccode\u003eExecutor.asCoroutineDispatcher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4396\"\u003e#4396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dbca4c1eaadadd29b1122fdf24a6cb53bc69fe76\"\u003e\u003ccode\u003edbca4c1\u003c/code\u003e\u003c/a\u003e Reliably run finalizers even if \u003ccode\u003erunBlocking\u003c/code\u003e got interrupted. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/45893cec51c63490ce294e46ae25cef3e4d625bf\"\u003e\u003ccode\u003e45893ce\u003c/code\u003e\u003c/a\u003e Add the issue template for guide-related problems (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4386\"\u003e#4386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8627cc37d4a2a2e2d683b98d4f53d1e03f59a366\"\u003e\u003ccode\u003e8627cc3\u003c/code\u003e\u003c/a\u003e Fix an explanation of flow emit (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4391\"\u003e#4391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5f8035c108a1211deded198b7809cd8347ca07a5\"\u003e\u003ccode\u003e5f8035c\u003c/code\u003e\u003c/a\u003e Specify explicit return types for some public API functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4389\"\u003e#4389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/465e29d325841244f3a1aac2e13073bc965f9736\"\u003e\u003ccode\u003e465e29d\u003c/code\u003e\u003c/a\u003e Set a predefined image width in debug-coroutines-with-idea.md (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4377\"\u003e#4377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/96de3017802c6711cbe02acfff9b07975d422150\"\u003e\u003ccode\u003e96de301\u003c/code\u003e\u003c/a\u003e Simplify newFixedThreadPoolContext using apply and remove unused import (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4378\"\u003e#4378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.7.3...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.test:rules` from 1.5.0 to 1.7.0\n\nUpdates `androidx.test.ext:junit` from 1.1.5 to 1.3.0\n\nUpdates `androidx.test.espresso:espresso-core` from 3.5.1 to 3.7.0\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 12.1.0 to 14.2.0\n\nUpdates `io.gitlab.arturbosch.detekt` from 1.23.5 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.23.7\u003c/h2\u003e\n\u003ch4\u003e1.23.7 - 2024-09-08\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.10\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): update kotlin monorepo to v2.0.10 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7517\"\u003e#7517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Kotlin 2.0.0 \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6640\"\u003e#6640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update kotlin monorepo to v1.9.24 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7264\"\u003e#7264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency com.android.tools.build:gradle to v8.5.2 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7525\"\u003e#7525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency gradle to v8.10 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7546\"\u003e#7546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eAdd basic support for isolated projects to 1.x - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7526\"\u003e#7526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicitCollectionElementAccessMethod: fix false positive when Map put has 3 arguments - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7563\"\u003e#7563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBr...\n\n_Description has been truncated_","html_url":"https://github.com/brokenpip3/fatto/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/brokenpip3%2Ffatto/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"2.9.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-04-14T17:54:40.000Z","version_change":"2.9.1 → 2.11.2","issue":{"uuid":"4263850416","node_id":"PR_kwDOSCoPu87SZOfX","number":2,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-19T08:55:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-14T17:54:40.000Z","updated_at":"2026-04-19T08:55:41.000Z","time_to_close":399652,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.1"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.22"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.5","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.7"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.2.0","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha06"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.7","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.1"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.4.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.11.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.11` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.22` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.5` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.7` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.2.0` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha06` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.7` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.1` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.1\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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-serialization` from 2.0.20 to 2.3.20\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSp...\n\n_Description has been truncated_","html_url":"https://github.com/vijaykumar-777/hexwallet/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/vijaykumar-777%2Fhexwallet/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"2.11.1","new_version":"2.11.2","update_type":"patch","path":null,"pr_created_at":"2026-04-06T17:49:09.000Z","version_change":"2.11.1 → 2.11.2","issue":{"uuid":"4213156195","node_id":"PR_kwDOQ8czTs7QRa_2","number":78,"state":"closed","title":"Bump the androidx group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-19T13:48:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T17:49:09.000Z","updated_at":"2026-04-19T13:48:36.000Z","time_to_close":1108759,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"androidx","update_count":10,"packages":[{"name":"androidx.lifecycle:lifecycle-process","old_version":"2.9.0","new_version":"2.10.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.11.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.11.1","new_version":"2.11.2"},{"name":"androidx.room:room-runtime","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.7.1","new_version":"2.8.4"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:rules","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.lifecycle:lifecycle-process | `2.9.0` | `2.10.0` |\n| androidx.work:work-runtime-ktx | `2.11.1` | `2.11.2` |\n| androidx.work:work-testing | `2.11.1` | `2.11.2` |\n| androidx.room:room-runtime | `2.7.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.7.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.7.1` | `2.8.4` |\n| androidx.room:room-testing | `2.7.1` | `2.8.4` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:rules | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.9.0 to 2.10.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.11.1 to 2.11.2\n\nUpdates `androidx.work:work-testing` from 2.11.1 to 2.11.2\n\nUpdates `androidx.work:work-testing` from 2.11.1 to 2.11.2\n\nUpdates `androidx.room:room-runtime` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-testing` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.7.1 to 2.8.4\n\nUpdates `androidx.room:room-testing` from 2.7.1 to 2.8.4\n\nUpdates `androidx.test:runner` from 1.6.2 to 1.7.0\n\nUpdates `androidx.test:rules` from 1.6.1 to 1.7.0\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n","html_url":"https://github.com/sara-star-quant/KioskOps-SDK-Android-Enterprise/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sara-star-quant%2FKioskOps-SDK-Android-Enterprise/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"}},{"old_version":"2.9.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-03-30T05:49:51.000Z","version_change":"2.9.1 → 2.11.2","issue":{"uuid":"4167637269","node_id":"PR_kwDOP6Wkrs7OfqlU","number":52,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T08:42:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T05:49:51.000Z","updated_at":"2026-04-03T08:42:51.000Z","time_to_close":355972,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.21"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.4","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.6"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.1.2","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha06"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.0"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.4.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.10.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.21` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.4` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.6` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.1.2` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha06` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.6` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.0` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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-serialization` from 2.0.20 to 2.3.20\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpec...\n\n_Description has been truncated_","html_url":"https://github.com/aswin-as/MoneyTrack/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswin-as%2FMoneyTrack/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}},{"old_version":"2.9.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-03-30T04:01:16.000Z","version_change":"2.9.1 → 2.11.2","issue":{"uuid":"4167055653","node_id":"PR_kwDOP9oWk87OeZPO","number":50,"state":"closed","title":"build(deps): Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T08:58:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T04:01:16.000Z","updated_at":"2026-04-03T08:58:29.000Z","time_to_close":363423,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.9","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.21"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.4","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.6"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.1.2","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha06"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.13.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.2"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.0"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.8` | `9.4.1` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.20` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.10.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.2` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.9` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.21` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.13.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.4` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.6` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.1.2` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha06` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.13.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.2` |\n| androidx.work:work-testing | `2.9.1` | `2.11.2` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.6` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.0` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.8` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.8.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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-serialization` from 2.0.20 to 2.3.20\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.20\"\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` from 2.0.20 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpec...\n\n_Description has been truncated_","html_url":"https://github.com/RandilFdo/SQRL-Budget-Tracker/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RandilFdo%2FSQRL-Budget-Tracker/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"}},{"old_version":"2.11.1","new_version":"2.11.2","update_type":"patch","path":null,"pr_created_at":"2026-03-26T17:01:06.000Z","version_change":"2.11.1 → 2.11.2","issue":{"uuid":"4145748090","node_id":"PR_kwDORL20Nc7NyzIf","number":13,"state":"closed","title":"Bump the maven group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-10T17:00:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T17:01:06.000Z","updated_at":"2026-04-10T17:00:56.000Z","time_to_close":1295988,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":11,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.11.1","new_version":"2.11.2"},{"name":"androidx.activity:activity-compose","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.03.01"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha14","new_version":"1.5.0-alpha16"},{"name":"io.insert-koin:koin-androidx-compose","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-androidx-workmanager","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"com.android.application","old_version":"9.2.0-alpha01","new_version":"9.2.0-alpha05"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| androidx.core:core-ktx | `1.17.0` | `1.18.0` |\n| androidx.work:work-runtime-ktx | `2.11.1` | `2.11.2` |\n| androidx.activity:activity-compose | `1.12.4` | `1.13.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.03.01` |\n| androidx.compose.material3:material3 | `1.5.0-alpha14` | `1.5.0-alpha16` |\n| [io.insert-koin:koin-androidx-compose](https://github.com/InsertKoinIO/koin) | `4.1.1` | `4.2.0` |\n| [io.insert-koin:koin-androidx-workmanager](https://github.com/InsertKoinIO/koin) | `4.1.1` | `4.2.0` |\n| com.android.application | `9.2.0-alpha01` | `9.2.0-alpha05` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\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/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.18.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.11.1 to 2.11.2\n\nUpdates `androidx.activity:activity-compose` from 1.12.4 to 1.13.0\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.03.01\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha14 to 1.5.0-alpha16\n\nUpdates `io.insert-koin:koin-androidx-compose` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-androidx-compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.0\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.20\u003c/p\u003e\n\u003cp\u003eNew Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKtor 3.4 DI Bridge — Full integration with Ktor's new DI system (ktor-server-di), bridging Ktor ↔ Koin dependency injection both ways\u003c/li\u003e\n\u003cli\u003eDagger Bridge (koin-dagger-bridge) — New module to help inject Koin components from Dagger side\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 3 support — Entry point provider with metadata parameter passing (animations, etc.), generic EntryProvider, and navigation scopes\u003c/li\u003e\n\u003cli\u003eNavigation Scope for Compose Nav 2 — Added scoped navigation support for Compose Navigation 2\u003c/li\u003e\n\u003cli\u003eLazy Modules — Parallel loading at startup for improved performance, with benchmarks\u003c/li\u003e\n\u003cli\u003estrictOverride option — New definition option to override explicitly\u003c/li\u003e\n\u003cli\u003ekoinActivityInject — Helper to retrieve dependencies against Activity scope\u003c/li\u003e\n\u003cli\u003eKoin Compiler Stubs — Added stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003eKoinApplication.withConfiguration\u003c!-- raw HTML omitted --\u003e() — New configuration support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance \u0026amp; Stability\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore Resolver V2 — Fixed parameter stack propagation, injected params handling, and child scope/ViewModel scope resolution\u003c/li\u003e\n\u003cli\u003eScope Resolution \u0026amp; Thread Safety — Performance optimization with safer ScopeFactory protecting all operations from parallel calls\u003c/li\u003e\n\u003cli\u003eThreadLocal loading optimization — Avoid cost per Scope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2306\"\u003e#2306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egetAll no longer sorted by default — Instances come as declared; sort on purpose if needed\u003c/li\u003e\n\u003cli\u003eParams stack access optimization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix sharedKoinViewModel with type-safe navigation routes (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix qualified name usage in WASM (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2312\"\u003e#2312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix premature release of scope \u0026amp; context in Compose — don't drop in onForgotten (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2274\"\u003e#2274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashing declarations for LocalKoinScope \u0026amp; LocalKoinApplication\u003c/li\u003e\n\u003cli\u003eFix Compose Koin Context Loader and Entry Points (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2327\"\u003e#2327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CoreResolution with Child Scopes / ViewModelScope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2325\"\u003e#2325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Scope Archetypes Qualifier in plugin support functions\u003c/li\u003e\n\u003cli\u003eFix qualifier conversion\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking Changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminSdk raised to 23 for Android\u003c/li\u003e\n\u003cli\u003emodule renamed to lazyModule in some contexts\u003c/li\u003e\n\u003cli\u003eBeanDef constructor change (API signature update)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDependencies\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.3.20\u003c/li\u003e\n\u003cli\u003eKtor 3.4\u003c/li\u003e\n\u003cli\u003eJetBrains Compose 1.10.2\u003c/li\u003e\n\u003cli\u003eAndroidX Lifecycle 2.10.0\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 2.9.7 / Nav3 1.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.0-RC2\u003c/h2\u003e\n\u003cp\u003eSecond Release Candidate for Koin 4.2.0, upgrading to Kotlin 2.3.20-RC2 and updating dependencies.\u003c/p\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/InsertKoinIO/koin/commit/59dd7fbca017be3cb41cef4a2113098123d6d5e6\"\u003e\u003ccode\u003e59dd7fb\u003c/code\u003e\u003c/a\u003e finalize Koin 4.2.0 - Kotlin 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/81c55e2222a019831c3d0271b26b392eb1152bfd\"\u003e\u003ccode\u003e81c55e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2377\"\u003e#2377\u003c/a\u003e from InsertKoinIO/feat_kotlin_2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/cf3e37bc2763f84034a41ed66f4f722ea6838ac6\"\u003e\u003ccode\u003ecf3e37b\u003c/code\u003e\u003c/a\u003e Koin 4.2.0 - RC2 - Kotlin 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/24c6393c22609c0d0938627441430f2452b09142\"\u003e\u003ccode\u003e24c6393\u003c/code\u003e\u003c/a\u003e Add Koin Compiler Stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/aab6a4709fd772b94d4e8122ada94d047f8adc71\"\u003e\u003ccode\u003eaab6a47\u003c/code\u003e\u003c/a\u003e Koin 4.2.0-RC2 - Kotlin 2.3.20-RC Upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/853370eb172e60cf913140fcc00f6ceeea5a3d3e\"\u003e\u003ccode\u003e853370e\u003c/code\u003e\u003c/a\u003e Docs update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/9631b02b9fb7fcdb60db1e20ff05ba0f35df027d\"\u003e\u003ccode\u003e9631b02\u003c/code\u003e\u003c/a\u003e 4.2.0-RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/3e5b44c0b714e2be058e92f6fe1a81ad4063f5e2\"\u003e\u003ccode\u003e3e5b44c\u003c/code\u003e\u003c/a\u003e Ktor 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/74d98840bac4e8abc3493def3d58e3404dde986c\"\u003e\u003ccode\u003e74d9884\u003c/code\u003e\u003c/a\u003e Remove getAll sorting by default. We let the instances come as declared. If n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/f6a504008bd6e64b7cb9bca665810003965cb429\"\u003e\u003ccode\u003ef6a5040\u003c/code\u003e\u003c/a\u003e Fix EAP Access Ktor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.1.1...4.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-androidx-workmanager` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-androidx-workmanager's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.2.0\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.20\u003c/p\u003e\n\u003cp\u003eNew Features\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKtor 3.4 DI Bridge — Full integration with Ktor's new DI system (ktor-server-di), bridging Ktor ↔ Koin dependency injection both ways\u003c/li\u003e\n\u003cli\u003eDagger Bridge (koin-dagger-bridge) — New module to help inject Koin components from Dagger side\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 3 support — Entry point provider with metadata parameter passing (animations, etc.), generic EntryProvider, and navigation scopes\u003c/li\u003e\n\u003cli\u003eNavigation Scope for Compose Nav 2 — Added scoped navigation support for Compose Navigation 2\u003c/li\u003e\n\u003cli\u003eLazy Modules — Parallel loading at startup for improved performance, with benchmarks\u003c/li\u003e\n\u003cli\u003estrictOverride option — New definition option to override explicitly\u003c/li\u003e\n\u003cli\u003ekoinActivityInject — Helper to retrieve dependencies against Activity scope\u003c/li\u003e\n\u003cli\u003eKoin Compiler Stubs — Added stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003eKoinApplication.withConfiguration\u003c!-- raw HTML omitted --\u003e() — New configuration support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance \u0026amp; Stability\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore Resolver V2 — Fixed parameter stack propagation, injected params handling, and child scope/ViewModel scope resolution\u003c/li\u003e\n\u003cli\u003eScope Resolution \u0026amp; Thread Safety — Performance optimization with safer ScopeFactory protecting all operations from parallel calls\u003c/li\u003e\n\u003cli\u003eThreadLocal loading optimization — Avoid cost per Scope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2306\"\u003e#2306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003egetAll no longer sorted by default — Instances come as declared; sort on purpose if needed\u003c/li\u003e\n\u003cli\u003eParams stack access optimization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix sharedKoinViewModel with type-safe navigation routes (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2293\"\u003e#2293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix qualified name usage in WASM (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2312\"\u003e#2312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix premature release of scope \u0026amp; context in Compose — don't drop in onForgotten (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2274\"\u003e#2274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crashing declarations for LocalKoinScope \u0026amp; LocalKoinApplication\u003c/li\u003e\n\u003cli\u003eFix Compose Koin Context Loader and Entry Points (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2327\"\u003e#2327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CoreResolution with Child Scopes / ViewModelScope (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2325\"\u003e#2325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Scope Archetypes Qualifier in plugin support functions\u003c/li\u003e\n\u003cli\u003eFix qualifier conversion\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking Changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminSdk raised to 23 for Android\u003c/li\u003e\n\u003cli\u003emodule renamed to lazyModule in some contexts\u003c/li\u003e\n\u003cli\u003eBeanDef constructor change (API signature update)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDependencies\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.3.20\u003c/li\u003e\n\u003cli\u003eKtor 3.4\u003c/li\u003e\n\u003cli\u003eJetBrains Compose 1.10.2\u003c/li\u003e\n\u003cli\u003eAndroidX Lifecycle 2.10.0\u003c/li\u003e\n\u003cli\u003eAndroidX Navigation 2.9.7 / Nav3 1.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.0-RC2\u003c/h2\u003e\n\u003cp\u003eSecond Release Candidate for Koin 4.2.0, upgrading to Kotlin 2.3.20-RC2 and updating dependencies.\u003c/p\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/InsertKoinIO/koin/commit/59dd7fbca017be3cb41cef4a2113098123d6d5e6\"\u003e\u003ccode\u003e59dd7fb\u003c/code\u003e\u003c/a\u003e finalize Koin 4.2.0 - Kotlin 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/81c55e2222a019831c3d0271b26b392eb1152bfd\"\u003e\u003ccode\u003e81c55e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2377\"\u003e#2377\u003c/a\u003e from InsertKoinIO/feat_kotlin_2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/cf3e37bc2763f84034a41ed66f4f722ea6838ac6\"\u003e\u003ccode\u003ecf3e37b\u003c/code\u003e\u003c/a\u003e Koin 4.2.0 - RC2 - Kotlin 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/24c6393c22609c0d0938627441430f2452b09142\"\u003e\u003ccode\u003e24c6393\u003c/code\u003e\u003c/a\u003e Add Koin Compiler Stubs for KoinApplication.modules() functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/aab6a4709fd772b94d4e8122ada94d047f8adc71\"\u003e\u003ccode\u003eaab6a47\u003c/code\u003e\u003c/a\u003e Koin 4.2.0-RC2 - Kotlin 2.3.20-RC Upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/853370eb172e60cf913140fcc00f6ceeea5a3d3e\"\u003e\u003ccode\u003e853370e\u003c/code\u003e\u003c/a\u003e Docs update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/9631b02b9fb7fcdb60db1e20ff05ba0f35df027d\"\u003e\u003ccode\u003e9631b02\u003c/code\u003e\u003c/a\u003e 4.2.0-RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/3e5b44c0b714e2be058e92f6fe1a81ad4063f5e2\"\u003e\u003ccode\u003e3e5b44c\u003c/code\u003e\u003c/a\u003e Ktor 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/74d98840bac4e8abc3493def3d58e3404dde986c\"\u003e\u003ccode\u003e74d9884\u003c/code\u003e\u003c/a\u003e Remove getAll sorting by default. We let the instances come as declared. If n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/f6a504008bd6e64b7cb9bca665810003965cb429\"\u003e\u003ccode\u003ef6a5040\u003c/code\u003e\u003c/a\u003e Fix EAP Access Ktor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.1.1...4.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.application` from 9.2.0-alpha01 to 9.2.0-alpha05\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.10 to 2.3.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\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.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\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.20\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.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\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-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\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/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/trinadhthatakula/AiImageGen/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trinadhthatakula%2FAiImageGen/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"2.8.1","new_version":"2.11.2","update_type":"minor","path":null,"pr_created_at":"2026-03-26T09:32:49.000Z","version_change":"2.8.1 → 2.11.2","issue":{"uuid":"4142200259","node_id":"PR_kwDOGCv7ms7NpV2Q","number":333,"state":"closed","title":"Bump androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2","user":"dependabot[bot]","labels":["stale","minor","dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-03T08:34:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T09:32:49.000Z","updated_at":"2026-05-03T08:34:37.000Z","time_to_close":3279699,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.2","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.8.1 to 2.11.2.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.8.1\u0026new-version=2.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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/timmo001/system-bridge-android-companion/pull/333","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/timmo001%2Fsystem-bridge-android-companion/issues/333","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/333/packages"}},{"old_version":"2.11.0","new_version":"2.11.1","update_type":"patch","path":null,"pr_created_at":"2026-03-12T02:46:47.000Z","version_change":"2.11.0 → 2.11.1","issue":{"uuid":"4061748274","node_id":"PR_kwDODCKIfM7J41K1","number":1146,"state":"closed","title":"chore(deps): bump the maven group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-31T07:54:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T02:46:47.000Z","updated_at":"2026-03-31T07:54:56.000Z","time_to_close":1660079,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"maven","update_count":13,"packages":[{"name":"gradle-wrapper","old_version":"8.14","new_version":"9.4.0"},{"name":"com.android.tools.build:gradle","old_version":"8.13.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.2.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.11.0","new_version":"2.11.1"},{"name":"androidx.navigation:navigation-fragment-ktx","old_version":"2.9.6","new_version":"2.9.7"},{"name":"androidx.navigation:navigation-ui-ktx","old_version":"2.9.6","new_version":"2.9.7"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.57.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android","old_version":"2.57.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-compiler","old_version":"2.57.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.1","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.mockk:mockk","old_version":"1.14.7","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"com.google.devtools.ksp","old_version":"2.3.4","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.14` | `9.4.0` |\n| com.android.tools.build:gradle | `8.13.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.10` |\n| androidx.core:core-ktx | `1.17.0` | `1.18.0` |\n| androidx.work:work-runtime-ktx | `2.11.0` | `2.11.1` |\n| androidx.navigation:navigation-fragment-ktx | `2.9.6` | `2.9.7` |\n| androidx.navigation:navigation-ui-ktx | `2.9.6` | `2.9.7` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.57.2` | `2.59.2` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.57.2` | `2.59.2` |\n| [com.google.dagger:hilt-compiler](https://github.com/google/dagger) | `2.57.2` | `2.59.2` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.1` | `6.0.3` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.7` | `1.14.9` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.4` | `2.3.6` |\n\n\nUpdates `gradle-wrapper` from 8.14 to 9.4.0\n\nUpdates `com.android.tools.build:gradle` from 8.13.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.2.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.18.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.11.0 to 2.11.1\n\nUpdates `androidx.navigation:navigation-fragment-ktx` from 2.9.6 to 2.9.7\n\nUpdates `androidx.navigation:navigation-ui-ktx` from 2.9.6 to 2.9.7\n\nUpdates `androidx.navigation:navigation-ui-ktx` from 2.9.6 to 2.9.7\n\nUpdates `com.google.dagger:hilt-android-gradle-plugin` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-compiler` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-android` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.dagger:hilt-compiler` from 2.57.2 to 2.59.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/dagger/releases\"\u003ecom.google.dagger:hilt-compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDagger 2.59.2\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5116\"\u003e#5116\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Replaced Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules (f7e31b857)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5122\"\u003e#5122\u003c/a\u003e: Fixed issue with slow incremental builds introduced by HiltSyncTask in AGP 9 support (1be57655b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e: Fixes compilation error with \u003ccode\u003ejetifierEnabled=true\u003c/code\u003e in AGP 9 (8dcce8790)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/5098\"\u003e#5098\u003c/a\u003e: Updated minimum required AGP version to 9.0.0 to make it clearer this is a requirement when using the Hilt Gradle plugin. (141e5941a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.59\u003c/h2\u003e\n\u003ch3\u003eBreaking changes:\u003c/h3\u003e\n\u003cp\u003e(If you do not use Hilt or the Hilt Gradle plugin, this change does not affect you.)\u003c/p\u003e\n\u003cp\u003eThis release adds AGP 9 support for the \u003ca href=\"https://dagger.dev/hilt/gradle-setup#hilt-gradle-plugin\"\u003eHilt Gradle plugin\u003c/a\u003e. This means that if you use the Hilt Gradle Plugin, AGP 9 is now a requirement along with AGP 9’s own requirements like Gradle 9.1+ (\u003ca href=\"https://developer.android.com/build/releases/agp-9-0-0-release-notes\"\u003ehttps://developer.android.com/build/releases/agp-9-0-0-release-notes\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 also seems to cause issues with \u003ccode\u003eenableJetifier=true\u003c/code\u003e (see \u003ca href=\"https://redirect.github.com/google/dagger/issues/5099\"\u003e#5099\u003c/a\u003e). This will be fixed in a follow-up release.\u003c/p\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/google/dagger/issues/4944\"\u003e#4944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/4979\"\u003e#4979\u003c/a\u003e: Support AGP 9 in HiltGradlePlugin (6afd7ea5a0fb84a38f2d23c990ddbd95e728a39d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDagger 2.58\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e AGP 9 support was held back from this release (\u003ca href=\"https://redirect.github.com/google/dagger/pull/5061/commits/0a5b42cf910be11752c4b958c4735715bf57c564\"\u003egoogle/dagger#5061\u003c/a\u003e) because it forces users onto AGP 9. It will be available in the next Dagger release (e92e3f392).\u003c/p\u003e\n\u003ch3\u003ePotential breaking changes:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlipped default for \u003ccode\u003edagger.useBindingGraphFix\u003c/code\u003e to \u003ccode\u003eenabled\u003c/code\u003e (d41e8362b).\nSee \u003ca href=\"https://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\"\u003ehttps://dagger.dev/dev-guide/compiler-options#useBindingGraphFix\u003c/a\u003e.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you it’s likely due to providing a binding in an incorrect module, (e.g. the binding requests an Activity but is installed in the SingletonComponent). The fix is to move the \u003ccode\u003e@Provides\u003c/code\u003e so that it is installed into the correct component (e.g. the ActivityComponent instead of SingletonComponent). You can also set \u003ccode\u003edagger.useBindingGraphFix=disabled\u003c/code\u003e but note that this flag is only temporary and will eventually be removed.\u003c/li\u003e\n\u003cli\u003eThe use of \u003ccode\u003eabstract var\u003c/code\u003e in components is now banned in super types.\nThe reason for this change is that an \u003ccode\u003eabstract var\u003c/code\u003e property creates both a getter and a setter on the component which is almost always unintentional.\n\u003cstrong\u003eFix:\u003c/strong\u003e If this change breaks you, use either an \u003ccode\u003eabstract val foo: Foo\u003c/code\u003e if you need a getter or \u003ccode\u003eabstract fun inject(foo: Foo)\u003c/code\u003e if you need an inject method. Note that \u003ccode\u003eabstract var\u003c/code\u003e is already banned if it is declared directly on the \u003ccode\u003e@Component\u003c/code\u003e class/interface, but this change fixes the check so that it’s banned even if it’s inherited from a super type.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes/features:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/1116\"\u003e#1116\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/dagger/issues/1630\"\u003e#1630\u003c/a\u003e, Supported \u003ccode\u003eMap\u0026lt;K, Lazy\u0026lt;V\u0026gt;\u0026gt;\u003c/code\u003e as a multibinding request type. (7f981a4c3)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/3601\"\u003e#3601\u003c/a\u003e. No longer adds a deprecation warning for unused dependencies on setters on the component builder. (1cf9dfc96)\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/google/dagger/issues/4982\"\u003e#4982\u003c/a\u003e:\n\u003cul\u003e\n\u003cli\u003eAdded validation to prevent using Java keywords in Dagger-generated code (72e21a828)\u003c/li\u003e\n\u003cli\u003eAdded error for binding elements names that are Java keywords. (38071c5ae)\u003c/li\u003e\n\u003cli\u003eJava keyword validation is now performed earlier during the superficial validation stage. (7f6f7bda7)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/dagger/commit/118f2e5fc876a8ff080978753a7a73b2a5d642cd\"\u003e\u003ccode\u003e118f2e5\u003c/code\u003e\u003c/a\u003e 2.59.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1be57655bf07880d630154f941b433cec7072c80\"\u003e\u003ccode\u003e1be5765\u003c/code\u003e\u003c/a\u003e Change HiltSyncTask to extend DefaultTask instead of Sync.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/f7e31b8572df4d791816dfb30a875231176e41d5\"\u003e\u003ccode\u003ef7e31b8\u003c/code\u003e\u003c/a\u003e Replace Hilt's \u0026quot;android-classes\u0026quot; transform with attribute rules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/59090059e8e002e034a10e280a426553c086ec71\"\u003e\u003ccode\u003e5909005\u003c/code\u003e\u003c/a\u003e Automated Code Change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/3507b0d7128a211f4a78634aba8e01a61bbdffc2\"\u003e\u003ccode\u003e3507b0d\u003c/code\u003e\u003c/a\u003e Support nullability in Switching Providers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1900560c6f317d873a3049f73c061211b62e7c95\"\u003e\u003ccode\u003e1900560\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8c69595320a7661b465bea1aa10465bb7b2db888\"\u003e\u003ccode\u003e8c69595\u003c/code\u003e\u003c/a\u003e Update Dagger yml and README with new latest version number.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/1dbb1dd1712b8d9f17fec7bbd7f18e32783bfc11\"\u003e\u003ccode\u003e1dbb1dd\u003c/code\u003e\u003c/a\u003e Internal refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/62b54235eabe799b72e0f62465b671bc97f30cb5\"\u003e\u003ccode\u003e62b5423\u003c/code\u003e\u003c/a\u003e Internal changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/dagger/commit/8dcce87903e678ef78154180568619e26c4e03bc\"\u003e\u003ccode\u003e8dcce87\u003c/code\u003e\u003c/a\u003e Add AggregatedPackagesTransform for \u0026quot;android-classes\u0026quot; artifact type.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/dagger/compare/dagger-2.57.2...dagger-2.59.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.1 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.mockk:mockk` from 1.14.7 to 1.14.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize value class arguments in EqMatcher for consistent comparison by \u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable logging to withArg \u0026amp; withNullableArg by \u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(readme): document suppressing superclass calls by \u003ca href=\"https://github.com/ch200203\"\u003e\u003ccode\u003e@​ch200203\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1444\"\u003emockk/mockk#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for issue \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1103\"\u003e#1103\u003c/a\u003e. by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix configuration option example for restricted classes by \u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1465\"\u003emockk/mockk#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InaccessibleObjectException when spying on JDK interfaces on JDK 16+ by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Java 11 compatibility: replace Random.nextLong(long, long) with Java 8 compatible alternative by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1456\"\u003emockk/mockk#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional restricted mock system property by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError when mocking methods returning ArrayList by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1464\"\u003emockk/mockk#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange JUnit 4/5 dependencies from implementation to compileOnly by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1455\"\u003emockk/mockk#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump dependencies, bump dexter by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue 1475: nullable value class verification by \u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1480\"\u003emockk/mockk#1480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate build configuration to version catalog by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1481\"\u003emockk/mockk#1481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up CI configuration and build artifacts by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1482\"\u003emockk/mockk#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Spotless formatting plugin by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1483\"\u003emockk/mockk#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable ktlint unused-imports rule and clean up code by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1489\"\u003emockk/mockk#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enable no-wildcard-imports in ktlint by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1491\"\u003emockk/mockk#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd List injection support for \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1356\"\u003e#1356\u003c/a\u003e) by \u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify settings files by prioritizing mockk.properties in MockKSettings by \u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type matching for any() when parameter is Any  (\u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1296\"\u003e#1296\u003c/a\u003e) by \u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Dokka to 2.1.0 and Refactor Documentation Setup by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1499\"\u003emockk/mockk#1499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump gradle to 9.3.0, add .gitattributes by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1502\"\u003emockk/mockk#1502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1342\"\u003e#1342\u003c/a\u003e: Handle value classes for type parameters and don't unbox value classes returned as interface/supertype by \u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce clearAllStubsFromMemory by \u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1503\"\u003emockk/mockk#1503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dokka to 2.2.0-Beta by \u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1505\"\u003emockk/mockk#1505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e initialization order based on dependencies by \u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edwardmp\"\u003e\u003ccode\u003e@​edwardmp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1440\"\u003emockk/mockk#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OsaSoft\"\u003e\u003ccode\u003e@​OsaSoft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1441\"\u003emockk/mockk#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sdetilly\"\u003e\u003ccode\u003e@​sdetilly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1449\"\u003emockk/mockk#1449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1457\"\u003emockk/mockk#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nishatoma\"\u003e\u003ccode\u003e@​nishatoma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1454\"\u003emockk/mockk#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jgrnrt\"\u003e\u003ccode\u003e@​jgrnrt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1477\"\u003emockk/mockk#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2jinee\"\u003e\u003ccode\u003e@​h2jinee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1492\"\u003emockk/mockk#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1474\"\u003emockk/mockk#1474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chapakook\"\u003e\u003ccode\u003e@​chapakook\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1494\"\u003emockk/mockk#1494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ianbrandt\"\u003e\u003ccode\u003e@​ianbrandt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1442\"\u003emockk/mockk#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mockk/mockk/pull/1500\"\u003emockk/mockk#1500\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.6...1.14.9\"\u003ehttps://github.com/mockk/mockk/compare/1.14.6...1.14.9\u003c/a\u003e\u003c/p\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/mockk/mockk/commit/71a8e21be4d2f443848cf552685ffe62aeb5f3ca\"\u003e\u003ccode\u003e71a8e21\u003c/code\u003e\u003c/a\u003e Release v1.14.9 and bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/cd84546921adf9c91c6635396b5c6c13263f3a0d\"\u003e\u003ccode\u003ecd84546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1500\"\u003e#1500\u003c/a\u003e from neungs-2/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/79b507adc690a7b62dc879bc198e3088fef0b845\"\u003e\u003ccode\u003e79b507a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1505\"\u003e#1505\u003c/a\u003e from jgrnrt/fix-dokka-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/373f95b88cca5bd60cfdf16d5ac1c4b64d89d5d6\"\u003e\u003ccode\u003e373f95b\u003c/code\u003e\u003c/a\u003e bump dokka to 2.2.0-Beta to fix \u0026quot;ERROR CLASS: Symbol not found\u0026quot; in generated ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/dbd755cbd67779c72c3ab86600d364aea3bcd679\"\u003e\u003ccode\u003edbd755c\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/e4ff90b320ad73f9e61bf1b3758cb3028ec64aad\"\u003e\u003ccode\u003ee4ff90b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1503\"\u003e#1503\u003c/a\u003e from nishatoma/add-clear-memory-method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/4a7d48190154a4d2a22b6066c9a0bd387f1ea356\"\u003e\u003ccode\u003e4a7d481\u003c/code\u003e\u003c/a\u003e fix: add backward compatible method for MockInitializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/db40a015c8c28704036a12b4a5069ba16a1c2af2\"\u003e\u003ccode\u003edb40a01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mockk/mockk/issues/1442\"\u003e#1442\u003c/a\u003e from ianbrandt/issue-1342\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/9249fbfc0b935ec108e2642a46a8b5aec1f94313\"\u003e\u003ccode\u003e9249fbf\u003c/code\u003e\u003c/a\u003e Replaced \u003ccode\u003eMethodHandle\u003c/code\u003e usage with \u003ccode\u003eMethod\u003c/code\u003e for value class unboxing to suppo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockk/mockk/commit/a34d4d9b4823f65b14a0e8c791438dd3e92982d2\"\u003e\u003ccode\u003ea34d4d9\u003c/code\u003e\u003c/a\u003e Updated the \u003ccode\u003e:test-modules:client-tests\u003c/code\u003e Kotlinx Coroutines dependency versio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockk/mockk/compare/1.14.7...1.14.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.devtools.ksp` from 2.3.4 to 2.3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where module recompilation would fail on Windows environments when KSP2 was enabled (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolved an issue where generated Java sources were ignored when using Android Kotlin Multiplatform with IP-compatible paths (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2744\"\u003e#2744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a KSP version 2.3.5 CI error exception that does not break build checks (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded symbol-processing-api and common-deps to compile dependencies (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the detection of built-in Kotlin by removing the reliance on KotlinBaseApiPlugin (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA back-port of a performance optimization in the Intellij / Analysis API (\u003ca href=\"https://redirect.github.com/google/ksp/pull/2785\"\u003e2785\u003c/a\u003e )\u003c/li\u003e\n\u003cli\u003eAdded support for nested typealias Kotlin language feature \u003ca href=\"https://redirect.github.com/google/ksp/issues/2588\"\u003e#2588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclude jdbc package from log4j to prevent vulnerability issue \u003ca href=\"https://redirect.github.com/google/ksp/issues/2651\"\u003e#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to \u003ca href=\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gurusai-voleti\"\u003e\u003ccode\u003e@​gurusai-voleti\u003c/code\u003e\u003c/a\u003e and everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.5...2.3.6\"\u003ehttps://github.com/google/ksp/compare/2.3.5...2.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSPCoreEnvironment.instance_prop leaks memory when used programmatically \u003ca href=\"https://redirect.github.com/google/ksp/issues/2742\"\u003e#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing first annotation argument when toByte is used \u003ca href=\"https://redirect.github.com/google/ksp/issues/2672\"\u003e#2672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix circular dependency between KSP and KAPT in AGP 9.0 \u003ca href=\"https://redirect.github.com/google/ksp/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\u003ehttps://github.com/google/ksp/compare/2.3.4...2.3.5\u003c/a\u003e\u003c/p\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/google/ksp/commit/a3b48e6d39e2540f680ccc478611ebf9d972c38c\"\u003e\u003ccode\u003ea3b48e6\u003c/code\u003e\u003c/a\u003e Remove redundant calls to asSequence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/a9f071945cb7688eaa93feb801c5b5b7ac60a6cb\"\u003e\u003ccode\u003ea9f0719\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c984ed3c2063e6f25741549c21432949242abf47\"\u003e\u003ccode\u003ec984ed3\u003c/code\u003e\u003c/a\u003e Test for running gradle tasks without caching in a row\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/42ff48dc95333331ded74078ac06fa5ae8092eda\"\u003e\u003ccode\u003e42ff48d\u003c/code\u003e\u003c/a\u003e Clean up file handlers (intellij)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/ff1076a7608d8aae1a62c7f78b0ec2dd0971ef05\"\u003e\u003ccode\u003eff1076a\u003c/code\u003e\u003c/a\u003e Make symbol-processing-api and common-deps compile dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/df4922bdd70391d171042f7e5b611cfcd4da3b3b\"\u003e\u003ccode\u003edf4922b\u003c/code\u003e\u003c/a\u003e Cherry-pick optimization to MockFileIndexFacade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/daa3f9da492c0354b7d9addcbc2ec9b57058f773\"\u003e\u003ccode\u003edaa3f9d\u003c/code\u003e\u003c/a\u003e Replace findPlugin with withType Gradle api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/378a29f31af3586eb977e46107b65d27b8ed3af2\"\u003e\u003ccode\u003e378a29f\u003c/code\u003e\u003c/a\u003e Improve test exception handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/593e4c394ba35fe449d904fd850debea8386f7c2\"\u003e\u003ccode\u003e593e4c3\u003c/code\u003e\u003c/a\u003e Copy sources from kotlin-compiler to override intellij-core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0be098414299942abf59422943b1290c63d22a3b\"\u003e\u003ccode\u003e0be0984\u003c/code\u003e\u003c/a\u003e Update upload-benchmark-data.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.6\"\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-autome...\n\n_Description has been truncated_","html_url":"https://github.com/trakt/showly/pull/1146","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trakt%2Fshowly/issues/1146","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1146/packages"}},{"old_version":"2.9.1","new_version":"2.11.1","update_type":"minor","path":null,"pr_created_at":"2026-03-09T05:57:37.000Z","version_change":"2.9.1 → 2.11.1","issue":{"uuid":"4043526710","node_id":"PR_kwDOP6Wkrs7I93ZC","number":46,"state":"closed","title":"Bump the ivy-wallet group with 80 updates","user":"dependabot[bot]","labels":["dependencies","java","Stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T08:33:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-09T05:57:37.000Z","updated_at":"2026-03-12T08:33:40.000Z","time_to_close":268555,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ivy-wallet","update_count":80,"packages":[{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.4.0"},{"name":"com.android.tools.build:gradle","old_version":"8.5.2","new_version":"9.1.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.0.20","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.8.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-collections-immutable","old_version":"0.3.7","new_version":"0.4.0","repository_url":"https://github.com/Kotlin/kotlinx.collections.immutable"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.1","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"io.ktor:ktor-client-okhttp","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"2.3.12","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.1.5","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.1.5","repository_url":"https://github.com/kotest/kotest"},{"name":"io.arrow-kt:arrow-core","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.kotest.extensions:kotest-property-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"io.kotest.extensions:kotest-assertions-arrow","old_version":"1.2.4","new_version":"2.0.0","repository_url":"https://github.com/kotest/kotest-extensions-arrow"},{"name":"app.cash.turbine:turbine","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"app.cash.paparazzi:paparazzi-gradle-plugin","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"app.cash.paparazzi:paparazzi","old_version":"1.3.3","new_version":"1.3.5","repository_url":"https://github.com/cashapp/paparazzi"},{"name":"com.google.testparameterinjector:test-parameter-injector","old_version":"1.16","new_version":"1.21"},{"name":"androidx.test:runner","old_version":"1.6.2","new_version":"1.7.0"},{"name":"androidx.test:core-ktx","old_version":"1.6.1","new_version":"1.7.0"},{"name":"androidx.test.ext:junit-ktx","old_version":"1.2.1","new_version":"1.3.0"},{"name":"io.mockk:mockk-android","old_version":"1.13.12","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.compose.material3:material3","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.2.1","new_version":"1.4.0"},{"name":"androidx.compose.animation:animation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.foundation:foundation","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.material:material-icons-extended","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.6.8","new_version":"1.7.8"},{"name":"androidx.activity:activity-compose","old_version":"1.9.1","new_version":"1.12.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.glance:glance","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-appwidget","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.glance:glance-material3","old_version":"1.1.0","new_version":"1.1.1"},{"name":"androidx.room:androidx.room.gradle.plugin","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.0"},{"name":"com.google.dagger:hilt-android","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-compiler","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-android-gradle-plugin","old_version":"2.52","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.hilt:hilt-work","old_version":"1.2.0","new_version":"1.3.0"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.4"},{"name":"com.google.android.gms:play-services-tasks","old_version":"18.2.0","new_version":"18.4.1"},{"name":"com.google.android.play:review-ktx","old_version":"2.0.1","new_version":"2.0.2"},{"name":"com.google.firebase:firebase-crashlytics","old_version":"19.0.3","new_version":"20.0.4","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.google.firebase:firebase-crashlytics-gradle","old_version":"3.0.2","new_version":"3.0.6"},{"name":"com.google.firebase:firebase-firestore","old_version":"25.1.4","new_version":"26.1.1","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"androidx.security:security-crypto","old_version":"1.0.0","new_version":"1.1.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha05"},{"name":"androidx.activity:activity-ktx","old_version":"1.9.1","new_version":"1.12.4"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.1","new_version":"2.11.1"},{"name":"androidx.work:work-testing","old_version":"2.9.1","new_version":"2.11.1"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.opencsv:opencsv","old_version":"5.9","new_version":"5.12.0"},{"name":"org.apache.commons:commons-lang3","old_version":"3.16.0","new_version":"3.20.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.6","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.10","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"com.slack.lint.compose:compose-lint-checks","old_version":"1.3.1","new_version":"1.4.2","repository_url":"https://github.com/slackhq/compose-lints"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.0.20-1.0.24","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.jraska.module.graph.assertion:plugin","old_version":"2.6.0","new_version":"2.9.0"},{"name":"org.gradle.wrapper-upgrade","old_version":"0.11.4","new_version":"0.12"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.8.3","new_version":"0.9.7","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the ivy-wallet group with 80 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.8` | `9.4.0` |\n| com.android.tools.build:gradle | `8.5.2` | `9.1.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.10` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.1` | `1.10.2` |\n| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.7` | `0.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.1` | `1.10.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.12` | `3.4.1` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.1.5` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.1.5` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-property-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [io.kotest.extensions:kotest-assertions-arrow](https://github.com/kotest/kotest-extensions-arrow) | `1.2.4` | `2.0.0` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.1.0` | `1.2.1` |\n| [app.cash.paparazzi:paparazzi-gradle-plugin](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| [app.cash.paparazzi:paparazzi](https://github.com/cashapp/paparazzi) | `1.3.3` | `1.3.5` |\n| com.google.testparameterinjector:test-parameter-injector | `1.16` | `1.21` |\n| androidx.test:runner | `1.6.2` | `1.7.0` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |\n| [io.mockk:mockk-android](https://github.com/mockk/mockk) | `1.13.12` | `1.14.9` |\n| androidx.compose.material3:material3 | `1.2.1` | `1.4.0` |\n| androidx.compose.material3:material3-window-size-class | `1.2.1` | `1.4.0` |\n| androidx.compose.animation:animation | `1.6.8` | `1.7.8` |\n| androidx.compose.foundation:foundation | `1.6.8` | `1.7.8` |\n| androidx.compose.material:material-icons-extended | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime | `1.6.8` | `1.7.8` |\n| androidx.compose.runtime:runtime-livedata | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui | `1.6.8` | `1.7.8` |\n| androidx.compose.ui:ui-tooling | `1.6.8` | `1.7.8` |\n| androidx.activity:activity-compose | `1.9.1` | `1.12.4` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.4` | `2.10.0` |\n| androidx.glance:glance | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-appwidget | `1.1.0` | `1.1.1` |\n| androidx.glance:glance-material3 | `1.1.0` | `1.1.1` |\n| androidx.room:androidx.room.gradle.plugin | `2.6.1` | `2.8.4` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-testing | `2.6.1` | `2.8.4` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.0` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.52` | `2.59.2` |\n| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |\n| com.google.gms:google-services | `4.4.2` | `4.4.4` |\n| com.google.android.gms:play-services-tasks | `18.2.0` | `18.4.1` |\n| com.google.android.play:review-ktx | `2.0.1` | `2.0.2` |\n| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `19.0.3` | `20.0.4` |\n| com.google.firebase:firebase-crashlytics-gradle | `3.0.2` | `3.0.6` |\n| [com.google.firebase:firebase-firestore](https://github.com/firebase/firebase-android-sdk) | `25.1.4` | `26.1.1` |\n| androidx.security:security-crypto | `1.0.0` | `1.1.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha05` |\n| androidx.activity:activity-ktx | `1.9.1` | `1.12.4` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.work:work-runtime-ktx | `2.9.1` | `2.11.1` |\n| androidx.work:work-testing | `2.9.1` | `2.11.1` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| com.opencsv:opencsv | `5.9` | `5.12.0` |\n| org.apache.commons:commons-lang3 | `3.16.0` | `3.20.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.6` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.10` | `0.5.6` |\n| [com.slack.lint.compose:compose-lint-checks](https://github.com/slackhq/compose-lints) | `1.3.1` | `1.4.2` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.0.20-1.0.24` | `2.3.6` |\n| com.jraska.module.graph.assertion:plugin | `2.6.0` | `2.9.0` |\n| org.gradle.wrapper-upgrade | `0.11.4` | `0.12` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.7` |\n\nUpdates `gradle-wrapper` from 8.8 to 9.4.0\n\nUpdates `com.android.tools.build:gradle` from 8.5.2 to 9.1.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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` from 2.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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-serialization` from 2.0.20 to 2.3.10\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-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\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` from 2.0.20 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.8.1 to 1.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed binary incompatibility introduced for non-JVM targets in \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4261\"\u003e#4261\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4309\"\u003e#4309\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4284\"\u003e#4284\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduced \u003ccode\u003eFlow.any\u003c/code\u003e, \u003ccode\u003eFlow.all\u003c/code\u003e, and \u003ccode\u003eFlow.none\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4212\"\u003e#4212\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/CLOVIS-AI\"\u003e\u003ccode\u003e@​CLOVIS-AI\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReorganized \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e and \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e code to avoid a split package between the two artifacts (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4247\"\u003e#4247\u003c/a\u003e). Note that directly referencing \u003ccode\u003ekotlinx.coroutines.debug.AgentPremain\u003c/code\u003e must now be replaced with \u003ccode\u003ekotlinx.coroutines.debug.internal.AgentPremain\u003c/code\u003e. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eNo longer shade byte-buddy in \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e, reducing the artifact size and simplifying the build configuration of client code. Thanks, \u003ca href=\"https://github.com/sellmair\"\u003e\u003ccode\u003e@​sellmair\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eNullPointerException\u003c/code\u003e when using Java-deserialized \u003ccode\u003ekotlinx-coroutines-core\u003c/code\u003e exceptions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4291\"\u003e#4291\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/AlexRiedler\"\u003e\u003ccode\u003e@​AlexRiedler\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eProperly report exceptions thrown by \u003ccode\u003eCoroutineDispatcher.dispatch\u003c/code\u003e instead of raising internal errors (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4091\"\u003e#4091\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/zuevmaxim\"\u003e\u003ccode\u003e@​zuevmaxim\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug that delayed scheduling of a \u003ccode\u003eDispatchers.Default\u003c/code\u003e or \u003ccode\u003eDispatchers.IO\u003c/code\u003e task after a \u003ccode\u003eyield()\u003c/code\u003e in rare scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4248\"\u003e#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a bug that prevented the \u003ccode\u003emain()\u003c/code\u003e coroutine on Wasm/WASI from executing after a \u003ccode\u003edelay()\u003c/code\u003e call in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4239\"\u003e#4239\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed scheduling of \u003ccode\u003erunBlocking\u003c/code\u003e tasks on Kotlin/Native that arrive after the \u003ccode\u003erunBlocking\u003c/code\u003e block was exited (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4245\"\u003e#4245\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed some terminal \u003ccode\u003eFlow\u003c/code\u003e operators sometimes resuming without taking cancellation into account (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4254\"\u003e#4254\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/jxdabc\"\u003e\u003ccode\u003e@​jxdabc\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed a bug on the JVM that caused coroutine-bound \u003ccode\u003eThreadLocal\u003c/code\u003e values not to get cleaned when using non-\u003ccode\u003eCoroutineDispatcher\u003c/code\u003e continuation i...\n\n_Description has been truncated_","html_url":"https://github.com/aswin-as/MoneyTrack/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswin-as%2FMoneyTrack/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"}},{"old_version":"2.10.2","new_version":"2.11.1","update_type":"minor","path":null,"pr_created_at":"2026-03-07T03:37:36.000Z","version_change":"2.10.2 → 2.11.1","issue":{"uuid":"4037204672","node_id":"PR_kwDORL9Rjs7Ip5ss","number":5,"state":"closed","title":"Bump the dependencies group across 1 directory with 102 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-14T03:13:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T03:37:36.000Z","updated_at":"2026-03-14T03:13:05.000Z","time_to_close":603328,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":102,"packages":[{"name":"com.android.tools.build:gradle","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.android.application","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.android.library","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.android.test","old_version":"8.11.0","new_version":"9.1.0"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.2.0-2.0.2","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.2.0-2.0.2","new_version":"2.3.6","repository_url":"https://github.com/google/ksp"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-annotation-processing-embeddable","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-compiler-embeddable","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib-jdk8","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.0","new_version":"0.7.1-0.6.x-compat","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"com.google.protobuf:protobuf-gradle-plugin","old_version":"0.9.5","new_version":"0.9.6","repository_url":"https://github.com/google/protobuf-gradle-plugin"},{"name":"com.google.protobuf","old_version":"0.9.5","new_version":"0.9.6"},{"name":"androidx.datastore:datastore","old_version":"1.1.7","new_version":"1.2.0"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.6","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"uk.kulikov.detekt.decompose:decompose-detekt-rules","old_version":"1.0.1","new_version":"2.0.0","repository_url":"https://github.com/LionZXY/detekt-decompose-rule"},{"name":"androidx.core:core-splashscreen","old_version":"1.1.0-rc01","new_version":"1.2.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.4"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.12.4"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.compose.ui:ui","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.compose.foundation:foundation","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.compose.material:material","old_version":"1.8.3","new_version":"1.10.4"},{"name":"androidx.wear.compose:compose-material","old_version":"1.4.1","new_version":"1.5.6"},{"name":"androidx.wear.compose:compose-foundation","old_version":"1.4.1","new_version":"1.5.6"},{"name":"com.google.android.horologist:horologist-compose-layout","old_version":"0.6.23","new_version":"0.7.15","repository_url":"https://github.com/google/horologist"},{"name":"tech.annexflow.compose:constraintlayout-compose-multiplatform","old_version":"0.6.0","new_version":"0.6.1","repository_url":"https://github.com/lavmee/constraintlayout-compose-multiplatform"},{"name":"androidx.paging:paging-compose","old_version":"3.3.6","new_version":"3.4.1"},{"name":"org.jetbrains.compose:compose-gradle-plugin","old_version":"1.8.2","new_version":"1.10.2","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"io.coil-kt.coil3:coil","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-svg","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-ktor3","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"com.vladsch.flexmark:flexmark","old_version":"0.42.14","new_version":"0.64.8","repository_url":"https://github.com/vsch/flexmark-java"},{"name":"com.mikepenz:multiplatform-markdown-renderer","old_version":"0.35.0","new_version":"0.39.2","repository_url":"https://github.com/mikepenz/multiplatform-markdown-renderer"},{"name":"androidx.room:room-runtime","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.7.2","new_version":"2.8.4"},{"name":"com.google.dagger:dagger","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:dagger-compiler","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"me.gulya.anvil:annotations","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"me.gulya.anvil:compiler","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"dev.zacsweers.anvil:annotations","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-api","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-utils","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:gradle-plugin","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil","old_version":"0.4.1","new_version":"0.5.3","repository_url":"https://github.com/zacsweers/anvil"},{"name":"io.sentry:sentry-android","old_version":"8.16.0","new_version":"8.34.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-timber","old_version":"8.16.0","new_version":"8.34.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-gradle-plugin","old_version":"5.8.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"net.lingala.zip4j:zip4j","old_version":"2.11.5","new_version":"2.11.6","repository_url":"https://github.com/srikanth-lingala/zip4j"},{"name":"ly.count.android:sdk","old_version":"25.4.2","new_version":"26.1.0","repository_url":"https://github.com/Countly/countly-sdk-android"},{"name":"org.slf4j:slf4j-api","old_version":"1.7.36","new_version":"2.0.17"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.17.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-runtime","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-service","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-testing","old_version":"2.9.1","new_version":"2.10.0"},{"name":"it.unimi.dsi:fastutil","old_version":"8.5.16","new_version":"8.5.18","repository_url":"https://github.com/vigna/fastutil"},{"name":"androidx.core:core","old_version":"1.16.0","new_version":"1.17.0"},{"name":"io.ktor:ktor-client-android","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.1.2","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-codec:commons-codec","old_version":"1.18.0","new_version":"1.21.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"no.nordicsemi.android:ble","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"no.nordicsemi.android:ble-common","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"com.fazecast:jSerialComm","old_version":"2.11.2","new_version":"2.11.4","repository_url":"https://github.com/Fazecast/jSerialComm"},{"name":"com.airbnb.android:lottie-compose","old_version":"6.6.7","new_version":"6.7.1","repository_url":"https://github.com/airbnb/lottie-android"},{"name":"com.google.protobuf:protobuf-kotlin-lite","old_version":"4.31.1","new_version":"4.34.0"},{"name":"com.google.protobuf:protoc","old_version":"4.31.1","new_version":"4.34.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"org.mockito.kotlin:mockito-kotlin","old_version":"5.4.0","new_version":"6.2.3","repository_url":"https://github.com/mockito/mockito-kotlin"},{"name":"org.robolectric:robolectric","old_version":"4.15.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"io.mockk:mockk","old_version":"1.14.4","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.benchmark:benchmark-macro-junit4","old_version":"1.3.4","new_version":"1.4.1"},{"name":"androidx.wear:wear","old_version":"1.3.0","new_version":"1.4.0"},{"name":"androidx.wear:wear-remote-interactions","old_version":"1.1.0","new_version":"1.2.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.2","new_version":"2.11.1"},{"name":"com.google.firebase:firebase-messaging","old_version":"24.1.2","new_version":"25.0.1","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.arkivanov.decompose:decompose","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"com.arkivanov.decompose:extensions-compose","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"net.engawapg.lib:zoomable","old_version":"2.8.1","new_version":"2.11.1","repository_url":"https://github.com/usuiat/Zoomable"},{"name":"com.squareup.okio:okio","old_version":"3.14.0","new_version":"3.16.4","repository_url":"https://github.com/square/okio"},{"name":"com.squareup.okio:okio-fakefilesystem","old_version":"3.14.0","new_version":"3.16.4","repository_url":"https://github.com/square/okio"},{"name":"com.google.gms.google-services","old_version":"4.4.3","new_version":"4.4.4"},{"name":"androidx.baselineprofile","old_version":"1.3.4","new_version":"1.4.1"},{"name":"com.github.gmazzo.buildconfig","old_version":"5.6.7","new_version":"6.0.9","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.squareup.wire","old_version":"5.3.3","new_version":"5.5.1","repository_url":"https://github.com/square/wire"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 102 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.tools.build:gradle | `8.11.0` | `9.1.0` |\n| com.android.application | `8.11.0` | `9.1.0` |\n| com.android.library | `8.11.0` | `9.1.0` |\n| com.android.test | `8.11.0` | `9.1.0` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.6` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.6` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-annotation-processing-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-compiler-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-stdlib-jdk8](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.10` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.10.0` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.0` | `0.7.1-0.6.x-compat` |\n| [com.google.protobuf:protobuf-gradle-plugin](https://github.com/google/protobuf-gradle-plugin) | `0.9.5` | `0.9.6` |\n| com.google.protobuf | `0.9.5` | `0.9.6` |\n| androidx.datastore:datastore | `1.1.7` | `1.2.0` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.6` |\n| [uk.kulikov.detekt.decompose:decompose-detekt-rules](https://github.com/LionZXY/detekt-decompose-rule) | `1.0.1` | `2.0.0` |\n| androidx.core:core-splashscreen | `1.1.0-rc01` | `1.2.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.4` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.12.4` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| androidx.compose.ui:ui | `1.8.3` | `1.10.4` |\n| androidx.compose.ui:ui-tooling | `1.8.3` | `1.10.4` |\n| androidx.compose.foundation:foundation | `1.8.3` | `1.10.4` |\n| androidx.compose.material:material | `1.8.3` | `1.10.4` |\n| androidx.wear.compose:compose-material | `1.4.1` | `1.5.6` |\n| androidx.wear.compose:compose-foundation | `1.4.1` | `1.5.6` |\n| [com.google.android.horologist:horologist-compose-layout](https://github.com/google/horologist) | `0.6.23` | `0.7.15` |\n| [tech.annexflow.compose:constraintlayout-compose-multiplatform](https://github.com/lavmee/constraintlayout-compose-multiplatform) | `0.6.0` | `0.6.1` |\n| androidx.paging:paging-compose | `3.3.6` | `3.4.1` |\n| [org.jetbrains.compose:compose-gradle-plugin](https://github.com/JetBrains/compose-jb) | `1.8.2` | `1.10.2` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-svg](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-ktor3](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [com.vladsch.flexmark:flexmark](https://github.com/vsch/flexmark-java) | `0.42.14` | `0.64.8` |\n| [com.mikepenz:multiplatform-markdown-renderer](https://github.com/mikepenz/multiplatform-markdown-renderer) | `0.35.0` | `0.39.2` |\n| androidx.room:room-runtime | `2.7.2` | `2.8.4` |\n| androidx.room:room-compiler | `2.7.2` | `2.8.4` |\n| androidx.room:room-ktx | `2.7.2` | `2.8.4` |\n| [com.google.dagger:dagger](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [com.google.dagger:dagger-compiler](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [me.gulya.anvil:annotations](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [me.gulya.anvil:compiler](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [dev.zacsweers.anvil:annotations](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:compiler-api](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:compiler](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:compiler-utils](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil:gradle-plugin](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [dev.zacsweers.anvil](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.3` |\n| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.34.1` |\n| [io.sentry:sentry-android-timber](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.34.1` |\n| [io.sentry:sentry-android-gradle-plugin](https://github.com/getsentry/sentry-android-gradle-plugin) | `5.8.0` | `6.1.0` |\n| [net.lingala.zip4j:zip4j](https://github.com/srikanth-lingala/zip4j) | `2.11.5` | `2.11.6` |\n| [ly.count.android:sdk](https://github.com/Countly/countly-sdk-android) | `25.4.2` | `26.1.0` |\n| org.slf4j:slf4j-api | `1.7.36` | `2.0.17` |\n| androidx.core:core-ktx | `1.16.0` | `1.17.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-runtime | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-service | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-testing | `2.9.1` | `2.10.0` |\n| [it.unimi.dsi:fastutil](https://github.com/vigna/fastutil) | `8.5.16` | `8.5.18` |\n| androidx.core:core | `1.16.0` | `1.17.0` |\n| [io.ktor:ktor-client-android](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.1` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.18.0` | `1.21.0` |\n| [no.nordicsemi.android:ble](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [no.nordicsemi.android:ble-common](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [com.fazecast:jSerialComm](https://github.com/Fazecast/jSerialComm) | `2.11.2` | `2.11.4` |\n| [com.airbnb.android:lottie-compose](https://github.com/airbnb/lottie-android) | `6.6.7` | `6.7.1` |\n| com.google.protobuf:protobuf-kotlin-lite | `4.31.1` | `4.34.0` |\n| [com.google.protobuf:protoc](https://github.com/protocolbuffers/protobuf) | `4.31.1` | `4.34.0` |\n| [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) | `5.4.0` | `6.2.3` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.15.1` | `4.16.1` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.4` | `1.14.9` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.benchmark:benchmark-macro-junit4 | `1.3.4` | `1.4.1` |\n| androidx.wear:wear | `1.3.0` | `1.4.0` |\n| androidx.wear:wear-remote-interactions | `1.1.0` | `1.2.0` |\n| androidx.work:work-runtime-ktx | `2.10.2` | `2.11.1` |\n| [com.google.firebase:firebase-messaging](https://github.com/firebase/firebase-android-sdk) | `24.1.2` | `25.0.1` |\n| [com.arkivanov.decompose:decompose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.4.0` |\n| [com.arkivanov.decompose:extensions-compose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.4.0` |\n| [net.engawapg.lib:zoomable](https://github.com/usuiat/Zoomable) | `2.8.1` | `2.11.1` |\n| [com.squareup.okio:okio](https://github.com/square/okio) | `3.14.0` | `3.16.4` |\n| [com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio) | `3.14.0` | `3.16.4` |\n| com.google.gms.google-services | `4.4.3` | `4.4.4` |\n| androidx.baselineprofile | `1.3.4` | `1.4.1` |\n| [com.github.gmazzo.buildconfig](https://github.com/gmazzo/gradle-buildconfig-plugin) | `5.6.7` | `6.0.9` |\n| [com.squareup.wire](https://github.com/square/wire) | `5.3.3` | `5.5.1` |\n\n\nUpdates `com.android.tools.build:gradle` from 8.11.0 to 9.1.0\n\nUpdates `com.android.application` from 8.11.0 to 9.1.0\n\nUpdates `com.android.library` from 8.11.0 to 9.1.0\n\nUpdates `com.android.test` from 8.11.0 to 9.1.0\n\nUpdates `com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin` from 2.2.0-2.0.2 to 2.3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where module recompilation would fail on Windows environments when KSP2 was enabled (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolved an issue where generated Java sources were ignored when using Android Kotlin Multiplatform with IP-compatible paths (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2744\"\u003e#2744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a KSP version 2.3.5 CI error exception that does not break build checks (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded symbol-processing-api and common-deps to compile dependencies (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the detection of built-in Kotlin by removing the reliance on KotlinBaseApiPlugin (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA back-port of a performance optimization in the Intellij / Analysis API (\u003ca href=\"https://redirect.github.com/google/ksp/pull/2785\"\u003e2785\u003c/a\u003e )\u003c/li\u003e\n\u003cli\u003eAdded support for nested typealias Kotlin language feature \u003ca href=\"https://redirect.github.com/google/ksp/issues/2588\"\u003e#2588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclude jdbc package from log4j to prevent vulnerability issue \u003ca href=\"https://redirect.github.com/google/ksp/issues/2651\"\u003e#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to \u003ca href=\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gurusai-voleti\"\u003e\u003ccode\u003e@​gurusai-voleti\u003c/code\u003e\u003c/a\u003e and everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.5...2.3.6\"\u003ehttps://github.com/google/ksp/compare/2.3.5...2.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSPCoreEnvironment.instance_prop leaks memory when used programmatically \u003ca href=\"https://redirect.github.com/google/ksp/issues/2742\"\u003e#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing first annotation argument when toByte is used \u003ca href=\"https://redirect.github.com/google/ksp/issues/2672\"\u003e#2672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix circular dependency between KSP and KAPT in AGP 9.0 \u003ca href=\"https://redirect.github.com/google/ksp/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\u003ehttps://github.com/google/ksp/compare/2.3.4...2.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP ignores sources in Kotlin directory \u003ca href=\"https://redirect.github.com/google/ksp/issues/2730\"\u003e#2730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid recording Java symbol lookups in non-incremental builds \u003ca href=\"https://redirect.github.com/google/ksp/issues/2728\"\u003e#2728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up ThreadLocals when processing is done \u003ca href=\"https://redirect.github.com/google/ksp/issues/2709\"\u003e#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.3...2.3.4\"\u003ehttps://github.com/google/ksp/compare/2.3.3...2.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate away from a deprecated compilerOptions KGP API \u003ca href=\"https://redirect.github.com/google/ksp/issues/2703\"\u003e#2703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.2...2.3.3\"\u003ehttps://github.com/google/ksp/compare/2.3.2...2.3.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\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/google/ksp/commit/a3b48e6d39e2540f680ccc478611ebf9d972c38c\"\u003e\u003ccode\u003ea3b48e6\u003c/code\u003e\u003c/a\u003e Remove redundant calls to asSequence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/a9f071945cb7688eaa93feb801c5b5b7ac60a6cb\"\u003e\u003ccode\u003ea9f0719\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c984ed3c2063e6f25741549c21432949242abf47\"\u003e\u003ccode\u003ec984ed3\u003c/code\u003e\u003c/a\u003e Test for running gradle tasks without caching in a row\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/42ff48dc95333331ded74078ac06fa5ae8092eda\"\u003e\u003ccode\u003e42ff48d\u003c/code\u003e\u003c/a\u003e Clean up file handlers (intellij)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/ff1076a7608d8aae1a62c7f78b0ec2dd0971ef05\"\u003e\u003ccode\u003eff1076a\u003c/code\u003e\u003c/a\u003e Make symbol-processing-api and common-deps compile dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/df4922bdd70391d171042f7e5b611cfcd4da3b3b\"\u003e\u003ccode\u003edf4922b\u003c/code\u003e\u003c/a\u003e Cherry-pick optimization to MockFileIndexFacade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/daa3f9da492c0354b7d9addcbc2ec9b57058f773\"\u003e\u003ccode\u003edaa3f9d\u003c/code\u003e\u003c/a\u003e Replace findPlugin with withType Gradle api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/378a29f31af3586eb977e46107b65d27b8ed3af2\"\u003e\u003ccode\u003e378a29f\u003c/code\u003e\u003c/a\u003e Improve test exception handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/593e4c394ba35fe449d904fd850debea8386f7c2\"\u003e\u003ccode\u003e593e4c3\u003c/code\u003e\u003c/a\u003e Copy sources from kotlin-compiler to override intellij-core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0be098414299942abf59422943b1290c63d22a3b\"\u003e\u003ccode\u003e0be0984\u003c/code\u003e\u003c/a\u003e Update upload-benchmark-data.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.2.0-2.0.2...2.3.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.devtools.ksp` from 2.2.0-2.0.2 to 2.3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where module recompilation would fail on Windows environments when KSP2 was enabled (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2774\"\u003e#2774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolved an issue where generated Java sources were ignored when using Android Kotlin Multiplatform with IP-compatible paths (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2744\"\u003e#2744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a KSP version 2.3.5 CI error exception that does not break build checks (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2763\"\u003e#2763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded symbol-processing-api and common-deps to compile dependencies (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2789\"\u003e#2789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the detection of built-in Kotlin by removing the reliance on KotlinBaseApiPlugin (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA back-port of a performance optimization in the Intellij / Analysis API (\u003ca href=\"https://redirect.github.com/google/ksp/pull/2785\"\u003e2785\u003c/a\u003e )\u003c/li\u003e\n\u003cli\u003eAdded support for nested typealias Kotlin language feature \u003ca href=\"https://redirect.github.com/google/ksp/issues/2588\"\u003e#2588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclude jdbc package from log4j to prevent vulnerability issue \u003ca href=\"https://redirect.github.com/google/ksp/issues/2651\"\u003e#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to \u003ca href=\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gurusai-voleti\"\u003e\u003ccode\u003e@​gurusai-voleti\u003c/code\u003e\u003c/a\u003e and everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.5...2.3.6\"\u003ehttps://github.com/google/ksp/compare/2.3.5...2.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSPCoreEnvironment.instance_prop leaks memory when used programmatically \u003ca href=\"https://redirect.github.com/google/ksp/issues/2742\"\u003e#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing first annotation argument when toByte is used \u003ca href=\"https://redirect.github.com/google/ksp/issues/2672\"\u003e#2672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix circular dependency between KSP and KAPT in AGP 9.0 \u003ca href=\"https://redirect.github.com/google/ksp/issues/2743\"\u003e#2743\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\u003ehttps://github.com/google/ksp/compare/2.3.4...2.3.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP ignores sources in Kotlin directory \u003ca href=\"https://redirect.github.com/google/ksp/issues/2730\"\u003e#2730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid recording Java symbol lookups in non-incremental builds \u003ca href=\"https://redirect.github.com/google/ksp/issues/2728\"\u003e#2728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up ThreadLocals when processing is done \u003ca href=\"https://redirect.github.com/google/ksp/issues/2709\"\u003e#2709\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.3...2.3.4\"\u003ehttps://github.com/google/ksp/compare/2.3.3...2.3.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate away from a deprecated compilerOptions KGP API \u003ca href=\"https://redirect.github.com/google/ksp/issues/2703\"\u003e#2703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.2...2.3.3\"\u003ehttps://github.com/google/ksp/compare/2.3.2...2.3.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\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/google/ksp/commit/a3b48e6d39e2540f680ccc478611ebf9d972c38c\"\u003e\u003ccode\u003ea3b48e6\u003c/code\u003e\u003c/a\u003e Remove redundant calls to asSequence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/a9f071945cb7688eaa93feb801c5b5b7ac60a6cb\"\u003e\u003ccode\u003ea9f0719\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c984ed3c2063e6f25741549c21432949242abf47\"\u003e\u003ccode\u003ec984ed3\u003c/code\u003e\u003c/a\u003e Test for running gradle tasks without caching in a row\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/42ff48dc95333331ded74078ac06fa5ae8092eda\"\u003e\u003ccode\u003e42ff48d\u003c/code\u003e\u003c/a\u003e Clean up file handlers (intellij)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/ff1076a7608d8aae1a62c7f78b0ec2dd0971ef05\"\u003e\u003ccode\u003eff1076a\u003c/code\u003e\u003c/a\u003e Make symbol-processing-api and common-deps compile dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/df4922bdd70391d171042f7e5b611cfcd4da3b3b\"\u003e\u003ccode\u003edf4922b\u003c/code\u003e\u003c/a\u003e Cherry-pick optimization to MockFileIndexFacade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/daa3f9da492c0354b7d9addcbc2ec9b57058f773\"\u003e\u003ccode\u003edaa3f9d\u003c/code\u003e\u003c/a\u003e Replace findPlugin with withType Gradle api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/378a29f31af3586eb977e46107b65d27b8ed3af2\"\u003e\u003ccode\u003e378a29f\u003c/code\u003e\u003c/a\u003e Improve test exception handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/593e4c394ba35fe449d904fd850debea8386f7c2\"\u003e\u003ccode\u003e593e4c3\u003c/code\u003e\u003c/a\u003e Copy sources from kotlin-compiler to override intellij-core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0be098414299942abf59422943b1290c63d22a3b\"\u003e\u003ccode\u003e0be0984\u003c/code\u003e\u003c/a\u003e Update upload-benchmark-data.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.2.0-2.0.2...2.3.6\"\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.2.0 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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-annotation-processing-embeddable` from 2.2.0 to 2.3.10\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-annotation-processing-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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-annotation-processing-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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-compiler-embeddable` from 2.2.0 to 2.3.10\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-compiler-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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-compiler-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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.2.0 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangeLog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.3.10-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\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.10\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83983\"\u003e\u003ccode\u003eKT-83983\u003c/code\u003e\u003c/a\u003e Revert of KT-83081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83314\"\u003e\u003ccode\u003eKT-83314\u003c/code\u003e\u003c/a\u003e JSpecify \u003ccode\u003e@NullMarked\u003c/code\u003e changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82863\"\u003e\u003ccode\u003eKT-82863\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@NoInfer\u003c/code\u003e regression since 2.2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82841\"\u003e\u003ccode\u003eKT-82841\u003c/code\u003e\u003c/a\u003e \u0026quot;kotlin.NoWhenBranchMatchedException\u0026quot; in \u003ccode\u003ewhen\u003c/code\u003e with \u003ccode\u003e!is\u003c/code\u003e check \u0026amp; non-sealed class in the middle of hierarchy\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-83608\"\u003e\u003ccode\u003eKT-83608\u003c/code\u003e\u003c/a\u003e Kotlin-reflect: \u0026quot;Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83361\"\u003e\u003ccode\u003eKT-83361\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Type parameter not found: 0\u0026quot; on super types with Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-42199\"\u003e\u003ccode\u003eKT-42199\u003c/code\u003e\u003c/a\u003e \u0026quot;KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke\u0026quot; on function reference to FunctionN.invoke\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81024\"\u003e\u003ccode\u003eKT-81024\u003c/code\u003e\u003c/a\u003e Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter\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-83266\"\u003e\u003ccode\u003eKT-83266\u003c/code\u003e\u003c/a\u003e \u0026quot;Unsupported class file major version 69\u0026quot; for \u0026quot;produceReleaseComposeMapping\u0026quot; task with Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83099\"\u003e\u003ccode\u003eKT-83099\u003c/code\u003e\u003c/a\u003e Compose compiler does not generate stack trace mappings for project files\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83070\"\u003e\u003ccode\u003eKT-83070\u003c/code\u003e\u003c/a\u003e The KGP api reference is missing a description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82459\"\u003e\u003ccode\u003eKT-82459\u003c/code\u003e\u003c/a\u003e Improve iOS simulator boot implementation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82946\"\u003e\u003ccode\u003eKT-82946\u003c/code\u003e\u003c/a\u003e Js, Wasm: Upgrade NPM dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83687\"\u003e\u003ccode\u003eKT-83687\u003c/code\u003e\u003c/a\u003e Revert deprecation of 'androidTarget' for AGP lower than 9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3.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-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\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-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\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/679366a83f99851b42f64795f10ed803ff011c73\"\u003e\u003ccode\u003e679366a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/14ba8336989fde2a1dfc53611439207ba61210a8\"\u003e\u003ccode\u003e14ba833\u003c/code\u003e\u003c/a\u003e Serialization: remove potential data race during extension registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fb8d334040e27cf5a7cb299c9bb4b0389327a9cc\"\u003e\u003ccode\u003efb8d334\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;K2: implement equality for ConeAttribute.EnhancedNullability\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/412afb7fb334c8aedc2f1776ecbe5cc5332161f1\"\u003e\u003ccode\u003e412afb7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/edea41e9c3945240b30a6fa2c68e1bbb9c9f9bd0\"\u003e\u003ccode\u003eedea41e\u003c/code\u003e\u003c/a\u003e [Gradle] Un-deprecate 'androidTarget()'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0946452e1cc5e56349f24fb86bdbe203e2a2d6b1\"\u003e\u003ccode\u003e0946452\u003c/code\u003e\u003c/a\u003e Bump version of the ASM dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/655fb780519cf570d07d506241a46227b8a2a864\"\u003e\u003ccode\u003e655fb78\u003c/code\u003e\u003c/a\u003e Reflection: always compute JVM signature of built-in functions manually\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/58d38755f5c1991ee0ba367c0b6de58d85cc93a7\"\u003e\u003ccode\u003e58d3875\u003c/code\u003e\u003c/a\u003e Fix mergeReleaseComposeMapping task failure when build cache is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/56e0a7993ac1c5913a6e0a0bd2f08a09186daef1\"\u003e\u003ccode\u003e56e0a79\u003c/code\u003e\u003c/a\u003e Copy R8 outputs to Compose folder when transforming obfuscation file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0eb1746ac5ea0e09e4aa31e757d90b0f5083f24\"\u003e\u003ccode\u003ee0eb174\u003c/code\u003e\u003c/a\u003e Fix classId for detecting protobuf enums\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.10\"\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.2.0 to 2.3.10\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.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83984\"\u003e\u003ccode\u003eKT-83984\u003c/code\u003e\u003c/a\u003e Data races around kotlinx.serialization plugin protobuf extensions registration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83317\"\u003e\u003ccode\u003eKT-83317\u003c/code\u003e\u003c/a\u003e ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83031\"\u003e\u003ccode\u003eKT-83031\u003c/code\u003e\u003c/a\u003e K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81700\"\u003e\u003ccode\u003eKT-81700\u003c/code\u003e\u003c/a\u003e flaky overload resolution behaviors (fa...\n\n_Description has been truncated_","html_url":"https://github.com/LeeroysHub/Flippy-Android/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeeroysHub%2FFlippy-Android/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"2.8.1","new_version":"2.11.1","update_type":"minor","path":"/android","pr_created_at":"2026-03-07T03:34:55.000Z","version_change":"2.8.1 → 2.11.1","issue":{"uuid":"4037198944","node_id":"PR_kwDORJ33Q87Ip4fe","number":66,"state":"open","title":"Bump androidx.work:work-runtime-ktx from 2.8.1 to 2.11.1 in /android","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-03-07T03:34:55.000Z","updated_at":"2026-03-07T03:36:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"androidx.work:work-runtime-ktx","old_version":"2.8.1","new_version":"2.11.1","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps androidx.work:work-runtime-ktx from 2.8.1 to 2.11.1.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.work:work-runtime-ktx\u0026package-manager=gradle\u0026previous-version=2.8.1\u0026new-version=2.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\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\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdate Android WorkManager runtime KTX (androidx.work:work-runtime-ktx) from 2.8.1 to 2.11.1 to pick up bug fixes and improved scheduling reliability. Backward compatible; no app code changes expected.\n\n\u003csup\u003eWritten for commit a9d1de2ef485b5456c9543b9c2fa6f978e6f2688. Summary will update on new commits.\u003c/sup\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/Treystu/SCMessenger/pull/66","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treystu%2FSCMessenger/issues/66","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/66/packages"}},{"old_version":"2.9.0","new_version":"2.11.1","update_type":"minor","path":null,"pr_created_at":"2026-03-02T10:03:41.000Z","version_change":"2.9.0 → 2.11.1","issue":{"uuid":"4010374144","node_id":"PR_kwDOJvE5fc7HSP9v","number":67,"state":"closed","title":"chore(deps): bump the androidx group with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-03T20:24:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-02T10:03:41.000Z","updated_at":"2026-03-03T20:24:14.000Z","time_to_close":123632,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"androidx","update_count":8,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.13.1","new_version":"1.17.0"},{"name":"androidx.annotation:annotation","old_version":"1.7.1","new_version":"1.9.1"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.9.0","new_version":"2.11.1"},{"name":"androidx.work:work-testing","old_version":"2.9.0","new_version":"2.11.1"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.4","new_version":"2.10.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.13.1` | `1.17.0` |\n| androidx.annotation:annotation | `1.7.1` | `1.9.1` |\n| androidx.work:work-runtime-ktx | `2.9.0` | `2.11.1` |\n| androidx.work:work-testing | `2.9.0` | `2.11.1` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.4` | `2.10.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n\nUpdates `androidx.core:core-ktx` from 1.13.1 to 1.17.0\n\nUpdates `androidx.annotation:annotation` from 1.7.1 to 1.9.1\n\nUpdates `androidx.work:work-runtime-ktx` from 2.9.0 to 2.11.1\n\nUpdates `androidx.work:work-testing` from 2.9.0 to 2.11.1\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.4 to 2.10.0\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n\nUpdates `androidx.test.espresso:espresso-core` from 3.6.1 to 3.7.0\n\nUpdates `androidx.work:work-testing` from 2.9.0 to 2.11.1\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003c!-- CURSOR_SUMMARY --\u003e\n---\n\n\u003e [!NOTE]\n\u003e **Medium Risk**\n\u003e Bumps several AndroidX runtime and test libraries (Core KTX, Annotation, WorkManager, DataStore, Lifecycle, Espresso/JUnit extensions), which can introduce API/behavior changes and cause build or test regressions.\n\u003e \n\u003e **Overview**\n\u003e Updates the Gradle version catalog (`gradle/libs.versions.toml`) to newer AndroidX versions, including `core-ktx`, `annotation`, `work-runtime-ktx`/`work-testing`, `datastore-preferences`, `lifecycle-runtime-ktx`, and AndroidX test libraries (`androidx.test.ext:junit`, `espresso-core`).\n\u003e \n\u003e \u003csup\u003eWritten by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit fd1e841e16760fd2f8ebba2b7973f0ca3a40d99d. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).\u003c/sup\u003e\n\u003c!-- /CURSOR_SUMMARY --\u003e","html_url":"https://github.com/Topsort/topsort.kt/pull/67","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Topsort%2Ftopsort.kt/issues/67","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/67/packages"}}]}