{"id":506,"name":"androidx.lifecycle:lifecycle-runtime-compose","ecosystem":"maven","repository_url":null,"issues_count":317,"created_at":"2025-06-06T15:01:34.942Z","updated_at":"2025-06-06T15:01:34.942Z","purl":"pkg:maven/androidx.lifecycle:lifecycle-runtime-compose","unique_repositories_count":104,"unique_repositories_count_past_30_days":5,"recent_issues":[{"uuid":"4619494305","node_id":"PR_kwDORxgKoc7kPsqr","number":705,"state":"open","title":"build(deps): bump the android-gradle-patch-minor group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["automation","maintenance","dependencies"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-09T06:34:18.000Z","updated_at":"2026-06-10T18:51:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-gradle-patch-minor","update_count":30,"packages":[{"name":"gradle-wrapper","old_version":"8.11.1","new_version":"8.14.5","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.19.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.9","new_version":"2.9.8"},{"name":"com.google.firebase:firebase-bom","old_version":"34.13.0","new_version":"34.14.1"},{"name":"org.mockito:mockito-core","old_version":"5.14.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"com.google.dagger:hilt-android","old_version":"2.56.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-compiler","old_version":"2.56.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger.hilt.android","old_version":"2.56.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-process","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.13.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.01.01","new_version":"2025.12.01"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.6.1","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"androidx.room:room-runtime","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.room","old_version":"2.7.1","new_version":"2.8.4"},{"name":"com.google.android.gms:play-services-ads","old_version":"23.0.0","new_version":"23.6.0"},{"name":"com.airbnb.android:lottie-compose","old_version":"6.6.3","new_version":"6.7.1","repository_url":"https://github.com/airbnb/lottie-android"},{"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.android.application","old_version":"8.10.1","new_version":"8.13.2"},{"name":"com.android.library","old_version":"8.10.1","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.10-1.0.31","new_version":"2.3.9","repository_url":"https://github.com/google/ksp"},{"name":"com.google.firebase.crashlytics","old_version":"3.0.6","new_version":"3.0.7"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-gradle-patch-minor group with 30 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.11.1` | `8.14.5` |\n| androidx.core:core-ktx | `1.15.0` | `1.19.0` |\n| androidx.navigation:navigation-compose | `2.8.9` | `2.9.8` |\n| com.google.firebase:firebase-bom | `34.13.0` | `34.14.1` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.14.2` | `5.23.0` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.56.1` | `2.59.2` |\n| [com.google.dagger:hilt-compiler](https://github.com/google/dagger) | `2.56.1` | `2.59.2` |\n| [com.google.dagger.hilt.android](https://github.com/google/dagger) | `2.56.1` | `2.59.2` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-process | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.3` | `2.10.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.13.0` |\n| androidx.compose:compose-bom | `2025.01.01` | `2025.12.01` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.6.1` | `0.8.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.8.1` | `1.11.0` |\n| androidx.room:room-runtime | `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.room | `2.7.1` | `2.8.4` |\n| com.google.android.gms:play-services-ads | `23.0.0` | `23.6.0` |\n| [com.airbnb.android:lottie-compose](https://github.com/airbnb/lottie-android) | `6.6.3` | `6.7.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| com.android.application | `8.10.1` | `8.13.2` |\n| com.android.library | `8.10.1` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.10-1.0.31` | `2.3.9` |\n| com.google.firebase.crashlytics | `3.0.6` | `3.0.7` |\n\n\nUpdates `gradle-wrapper` from 8.11.1 to 8.14.5\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\u003e8.14.5\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 8.14.5.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 24 support\u003c/li\u003e\n\u003cli\u003eGraalVM Native Image toolchain selection\u003c/li\u003e\n\u003cli\u003eEnhancements to test reporting\u003c/li\u003e\n\u003cli\u003eBuild Authoring improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/8.14.5/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/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/benjamin-bader\"\u003eBen Bader\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/chandre92\"\u003echandre92\u003c/a\u003e,\n\u003ca href=\"https://github.com/dlehammer\"\u003eDaniel Hammer\u003c/a\u003e,\n\u003ca href=\"https://github.com/danishnawab\"\u003eDanish Nawab\u003c/a\u003e,\n\u003ca href=\"https://github.com/DreierF\"\u003eFlorian Dreier\u003c/a\u003e,\n\u003ca href=\"https://github.com/Mengmeiivy\"\u003eIvy Chen\u003c/a\u003e,\n\u003ca href=\"https://github.com/jjohannes\"\u003eJendrik Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/jimmy1995-gu\"\u003ejimmy1995-gu\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/NaMinhyeok\"\u003eNa Minhyeok\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 8.14.5 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=8.14.5 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/8.14.5/userguide/upgrading_version_8.html\"\u003e8.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/8.14.5/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\u003e8.14.4\u003c/h2\u003e\n\u003cp\u003eThis is a patch release for 8.14. We recommend using 8.14.4 instead of 8.14.\u003c/p\u003e\n\u003cp\u003eThis release addresses two security vulnerabilities:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-mqwm-5m85-gmcv\"\u003eFailure to disable repositories failing to answer can expose builds to malicious artifacts\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-w78c-w6vf-rw82\"\u003eFailure to disable repositories with unknown host can expose builds to malicious artifacts\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/gradle/gradle/commit/62345becae08b13e793521816d585102fea66398\"\u003e\u003ccode\u003e62345be\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37829\"\u003e#37829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/38049c286691bf85cee542f8b2f8dc1cc54dd25d\"\u003e\u003ccode\u003e38049c2\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f3781397d4ad84fcc034f239efe7dc350f564741\"\u003e\u003ccode\u003ef378139\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37780\"\u003e#37780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4e739b5959a5b0f1c5962cd387143c91b27343d3\"\u003e\u003ccode\u003e4e739b5\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d94136aadaa292280b860e5032e7dddc6e116112\"\u003e\u003ccode\u003ed94136a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37704\"\u003e#37704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/a2f6942e453c80634fca32ba0e11a9ce8b7baf48\"\u003e\u003ccode\u003ea2f6942\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/28df2639ea8752218176288ef6a9e678c779f73b\"\u003e\u003ccode\u003e28df263\u003c/code\u003e\u003c/a\u003e Backport exclude bugfix (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37559\"\u003e#37559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e03dca12e7b77f5f6ec00f7d81eb8734f7596d52\"\u003e\u003ccode\u003ee03dca1\u003c/code\u003e\u003c/a\u003e Upgrade BouncyCastle to 1.84 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37656\"\u003e#37656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/987d1a32e4f3d97b14413e9ee2742df820ec6beb\"\u003e\u003ccode\u003e987d1a3\u003c/code\u003e\u003c/a\u003e Bump the Jackson version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/56e392c0f0b9f16bcba1c03f7bd0bae08a82556a\"\u003e\u003ccode\u003e56e392c\u003c/code\u003e\u003c/a\u003e Bump Bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.11.1...v8.14.5\"\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.15.0 to 1.19.0\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.9 to 2.9.8\n\nUpdates `com.google.firebase:firebase-bom` from 34.13.0 to 34.14.1\n\nUpdates `org.mockito:mockito-core` from 5.14.2 to 5.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockito/mockito/releases\"\u003eorg.mockito:mockito-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.23.0\u003c/h2\u003e\n\u003ch2\u003eNOTE: Breaking change for Android\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003emockito-android\u003c/code\u003e artifact has a breaking change: tests now require a device or emulator based on API 28+ (Android P). This is to enable new support for mocking Kotlin classes. See \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3788\"\u003e#3788\u003c/a\u003e for more details.\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.23.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2026-03-11 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.22.0...v5.23.0\"\u003e6 commit(s)\u003c/a\u003e by Brice Dutheil, Joshua Selbo, Philippe Kernevez\u003c/li\u003e\n\u003cli\u003eReplace mockito-android mock maker implementation with dexmaker-mockito-inline [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3792\"\u003e#3792\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3792\"\u003emockito/mockito#3792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError with AbstractList after using mockSingleton [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3790\"\u003e#3790\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3790\"\u003emockito/mockito#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark parameters of \u003ccode\u003eMockito.when\u003c/code\u003e \u003ccode\u003e@Nullable\u003c/code\u003e [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3503\"\u003e#3503\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3503\"\u003emockito/mockito#3503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.22.0\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.22.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2026-02-27 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.21.0...v5.22.0\"\u003e6 commit(s)\u003c/a\u003e by Joshua Selbo, NiMv1, Rafael Winterhalter, dependabot[bot], eunbin son\u003c/li\u003e\n\u003cli\u003eAvoid mocking of internal static utilities [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3785\"\u003e#3785\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3785\"\u003emockito/mockito#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.4 to 1.4.5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3780\"\u003e#3780\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3780\"\u003emockito/mockito#3780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStatic mocking of UUID.class corrupted under JDK 25 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3778\"\u003e#3778\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3778\"\u003emockito/mockito#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 5 to 6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3774\"\u003e#3774\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3774\"\u003emockito/mockito#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: clarify RETURNS_MOCKS behavior with sealed abstract enums (Java 15+) [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3773\"\u003e#3773\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3773\"\u003emockito/mockito#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd tests for Sets utility class [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3771\"\u003e#3771\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3771\"\u003emockito/mockito#3771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd core API to enable Kotlin singleton mocking [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3762\"\u003e#3762\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3762\"\u003emockito/mockito#3762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStubbing Kotlin \u003ccode\u003eobject\u003c/code\u003e singletons [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3652\"\u003e#3652\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3652\"\u003emockito/mockito#3652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncorrect documentation for RETURNS_MOCKS [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3285\"\u003e#3285\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3285\"\u003emockito/mockito#3285\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.21.0\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.21.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2025-12-09 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.20.0...v5.21.0\"\u003e17 commit(s)\u003c/a\u003e by Giulio Longfils, Joshua Selbo, Woongi9, Zylox, dependabot[bot]\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.3 to 1.4.4 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3768\"\u003e#3768\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3768\"\u003emockito/mockito#3768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.2 to 1.4.3 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3767\"\u003e#3767\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3767\"\u003emockito/mockito#3767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3765\"\u003e#3765\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3765\"\u003emockito/mockito#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds output of matchers to potential mismatch; Fixes \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2468\"\u003e#2468\u003c/a\u003e [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3760\"\u003e#3760\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3760\"\u003emockito/mockito#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eForbid mocking WeakReference with inline mock maker [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3759\"\u003e#3759\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3759\"\u003emockito/mockito#3759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStackOverflowError when mocking WeakReference [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3758\"\u003e#3758\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3758\"\u003emockito/mockito#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3756\"\u003e#3756\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3756\"\u003emockito/mockito#3756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.1 to 1.4.2 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3755\"\u003e#3755\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3755\"\u003emockito/mockito#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport primitives in GenericArrayReturnType. [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3753\"\u003e#3753\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3753\"\u003emockito/mockito#3753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassNotFoundException when stubbing array of primitive type on Android [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3752\"\u003e#3752\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3752\"\u003emockito/mockito#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.0 to 1.4.1 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3744\"\u003e#3744\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3744\"\u003emockito/mockito#3744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump gradle/actions from 4 to 5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3743\"\u003e#3743\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3743\"\u003emockito/mockito#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump org.graalvm.buildtools.native from 0.11.0 to 0.11.1 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3738\"\u003e#3738\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3738\"\u003emockito/mockito#3738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump com.diffplug.spotless:spotless-plugin-gradle from 7.2.1 to 8.0.0 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3735\"\u003e#3735\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3735\"\u003emockito/mockito#3735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.3.7 to 1.4.0 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3734\"\u003e#3734\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3734\"\u003emockito/mockito#3734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3733\"\u003e#3733\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3733\"\u003emockito/mockito#3733\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/mockito/mockito/commit/a231205b240e7884a63bf0f63440012867a4da21\"\u003e\u003ccode\u003ea231205\u003c/code\u003e\u003c/a\u003e Fix StackOverflowError with AbstractList after using mockSingleton (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/f6a91a6a6138c776fa8b41ffb3fd078c64802044\"\u003e\u003ccode\u003ef6a91a6\u003c/code\u003e\u003c/a\u003e Replace mockito-android mock maker implementation with dexmaker-mockito-inlin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/aa2298a627ab2c0bce07f648e444477d8e2e05ba\"\u003e\u003ccode\u003eaa2298a\u003c/code\u003e\u003c/a\u003e fix: make spotless happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/a6729d657e232ca64da81d9801d7b8f3be6fc49a\"\u003e\u003ccode\u003ea6729d6\u003c/code\u003e\u003c/a\u003e chore: update BDDMockito with jspecify annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/bb83c922484cfd3693d61549b5d6ef39a9c02c2b\"\u003e\u003ccode\u003ebb83c92\u003c/code\u003e\u003c/a\u003e chore: move jspecify as a compile only dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/47a46954cd1c0f8ef64ec63d43da9b71081d74e6\"\u003e\u003ccode\u003e47a4695\u003c/code\u003e\u003c/a\u003e chore: add jspecify with minimal change. Fixes \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3503\"\u003e#3503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/25f13951d35ca391ee50207e6c564f3e869f3d91\"\u003e\u003ccode\u003e25f1395\u003c/code\u003e\u003c/a\u003e Add core API to enable Kotlin singleton mocking (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3762\"\u003e#3762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/ef9ee5529853d96028b520f84a41ffd41afc9a1d\"\u003e\u003ccode\u003eef9ee55\u003c/code\u003e\u003c/a\u003e Avoids mocking private static methods, as well as package-private static meth...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/d16fcfc274d7ca03a2b4bdc22dd7c3ec6dac8690\"\u003e\u003ccode\u003ed16fcfc\u003c/code\u003e\u003c/a\u003e Bump graalvm/setup-graalvm from 1.4.4 to 1.4.5 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3780\"\u003e#3780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/27eb8a3acdd9c9eb3ff788a71b22777026874439\"\u003e\u003ccode\u003e27eb8a3\u003c/code\u003e\u003c/a\u003e Clarify \u003ccode\u003eRETURNS_MOCKS\u003c/code\u003e behavior with sealed abstract enums (Java 15+) (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockito/mockito/compare/v5.14.2...v5.23.0\"\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.56.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.56.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-compiler` from 2.56.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-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.56.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.56.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.56.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-compiler` from 2.56.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-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.56.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.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.13.0\n\nUpdates `androidx.compose:compose-bom` from 2025.01.01 to 2025.12.01\n\nUpdates `org.jetbrains.kotlinx:kotlinx-datetime` from 0.6.1 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e type aliases to, respectively, \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e and \u003ccode\u003ekotlin.time.Clock\u003c/code\u003e to make migration more convenient.\u003c/li\u003e\n\u003cli\u003eAdd a fallback timezone database implementation for Darwin that uses the Foundation framework if the timezone database is unavailable on the filesystem (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/485\"\u003e#485\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRestore binary compatibility in string format definitions utilizing dates on the JVM (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/545\"\u003e#545\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-datetime/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.1\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-datetime/commit/591ce9bd83df08322105e10d51f90b2baa5355cd\"\u003e\u003ccode\u003e591ce9b\u003c/code\u003e\u003c/a\u003e Merge branch 'dkhalanskyjb/remove-deprecated-instant' into version-0.8.0-normal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a2eb07444986b897f062b39510a22b838bc2394f\"\u003e\u003ccode\u003ea2eb074\u003c/code\u003e\u003c/a\u003e Version 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/f487af449b536bd130a8d1eb9fd4dcbb80c5a59e\"\u003e\u003ccode\u003ef487af4\u003c/code\u003e\u003c/a\u003e Describe the release procedures (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/edc1183a08ac54d60504b2288ab0a9f31698fce1\"\u003e\u003ccode\u003eedc1183\u003c/code\u003e\u003c/a\u003e Add contribution guidelines (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4b485b7b6aac3539893b0238c8e81c2d5ff0402d\"\u003e\u003ccode\u003e4b485b7\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c2854bd91aa2f2d43ece1e1884c06c75f6020f27\"\u003e\u003ccode\u003ec2854bd\u003c/code\u003e\u003c/a\u003e Updated kotlinx.team.infra plugin and regenerated publication pipeline (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/ef03b193e6d1d3b50b51ca0f12a22e85dbd05b5d\"\u003e\u003ccode\u003eef03b19\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a1ac46e06b9d3310d3b31a025eb6a62297f317ff\"\u003e\u003ccode\u003ea1ac46e\u003c/code\u003e\u003c/a\u003e Use IANA tzdb 2026b (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c006a0f07dc129d8afa3760f3f4c01c6bd2d2296\"\u003e\u003ccode\u003ec006a0f\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4ae47efa9f1860bd772322bd0b0e3bfb7ad38ec8\"\u003e\u003ccode\u003e4ae47ef\u003c/code\u003e\u003c/a\u003e Small improvements to various docs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/compare/v0.6.1...v0.8.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-serialization-json` from 1.8.1 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.jetbrain...\n\n_Description has been truncated_","html_url":"https://github.com/parkuiery/Stopit-Android/pull/705","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/parkuiery%2FStopit-Android/issues/705","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/705/packages"},{"uuid":"4605737109","node_id":"PR_kwDOSK-X1M7ji9HD","number":9,"state":"open","title":"build: bump the gradle group with 12 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-07T01:27:03.000Z","updated_at":"2026-06-07T01:27:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"gradle","update_count":12,"packages":[{"name":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.01"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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-ktx","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 gradle group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.2.0` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.01` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.14.1` | `4.16.1` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n\nUpdates `com.android.application` from 9.2.0 to 9.2.1\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `com.google.android.material:material` from 1.13.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.13.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-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 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.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.01\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 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.10.2...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.robolectric:robolectric` from 4.14.1 to 4.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/robolectric/robolectric/releases\"\u003eorg.robolectric:robolectric's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eRobolectric 4.16.1 is a minor release that fixes some issues when Robolectric is used for Android Platform development. Most notably, it is updated to support the deletion of \u003ca href=\"https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager\"\u003eFingerprintManager\u003c/a\u003e in the Android Framework, as well as some improvements to the \u003ccode\u003eVirtualDeviceManager\u003c/code\u003e shadow.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/robolectric/robolectric/compare/robolectric-4.16...robolectric-4.16.1\"\u003ehttps://github.com/robolectric/robolectric/compare/robolectric-4.16...robolectric-4.16.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eRobolectric 4.16 supports Android Baklava (SDK 36), and you need to use JDK 21 if running tests with SDK 36 target. It also removes support for Android L (SDK 21 and 22).\u003c/p\u003e\n\u003cp\u003eOne exciting new feature is native resources (ResourcesMode.NATIVE). Note this is currently only available in SDK 36.\u003c/p\u003e\n\u003cp\u003eIf you have any issues, please file them \u003ca href=\"https://github.com/robolectric/robolectric/issues\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReuse \u003ccode\u003eShadowUIModeManager\u003c/code\u003e in \u003ccode\u003eShadowUIModeManagerTest\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10368\"\u003erobolectric/robolectric#10368\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate AndroidX by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10373\"\u003erobolectric/robolectric#10373\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependency gradle to v8.14.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10372\"\u003erobolectric/robolectric#10372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependency com.googlecode.libphonenumber:libphonenumber to v9.0.7 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10371\"\u003erobolectric/robolectric#10371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependency org.bouncycastle:bcprov-jdk18on to v1.81 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10374\"\u003erobolectric/robolectric#10374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ApplicationInfo inconsistencies in Robolectric. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10375\"\u003erobolectric/robolectric#10375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd shadow for new resolveActivityAsUser variant. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10377\"\u003erobolectric/robolectric#10377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust to indevelopment SDK changes. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10379\"\u003erobolectric/robolectric#10379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding support to the Simulator for picking up the device configuration from a Configurer. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10381\"\u003erobolectric/robolectric#10381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up SDK ranges for shadow methods in Baklava. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10380\"\u003erobolectric/robolectric#10380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a shadow for Equalizer in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10384\"\u003erobolectric/robolectric#10384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example to be consistent with robolectric.org by \u003ca href=\"https://github.com/seadowg\"\u003e\u003ccode\u003e@​seadowg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/7475\"\u003erobolectric/robolectric#7475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003esimulator-gradle-plugin\u003c/code\u003e to depends on AGP \u003ccode\u003egradle-api\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10386\"\u003erobolectric/robolectric#10386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace custom \u003ccode\u003egetOrDefault()\u003c/code\u003e with the corresponding Java method by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10370\"\u003erobolectric/robolectric#10370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Javadoc for \u003ccode\u003eShadowPausedLooper\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10387\"\u003erobolectric/robolectric#10387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix condition in \u003ccode\u003eResourceHelper#parseFloatAttribute()\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10369\"\u003erobolectric/robolectric#10369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate listener in \u003ccode\u003eShadowAccountManager#addOnAccountsUpdatedListener()\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10361\"\u003erobolectric/robolectric#10361\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for UiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM) in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10390\"\u003erobolectric/robolectric#10390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily register the simulator plugin by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10391\"\u003erobolectric/robolectric#10391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable stricter plugin validation by \u003ca href=\"https://github.com/hoisie\"\u003e\u003ccode\u003e@​hoisie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10388\"\u003erobolectric/robolectric#10388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the VirtualDeviceManager#getVirtualDevice(int deviceId) to the ShadowVirtualDeviceManager. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10395\"\u003erobolectric/robolectric#10395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various small warnings by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10394\"\u003erobolectric/robolectric#10394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd shadow implement of AccessibilityService#getRootInActiveWindow in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10397\"\u003erobolectric/robolectric#10397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd more information to the generated POM file by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10392\"\u003erobolectric/robolectric#10392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange ShadowChoreographer.getDefaultFrameDelay into a shadow method. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10404\"\u003erobolectric/robolectric#10404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore removed methods from \u003ccode\u003eConfig\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10406\"\u003erobolectric/robolectric#10406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd shadow override for Network SocketFactory. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10409\"\u003erobolectric/robolectric#10409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing deprecations to some \u003ccode\u003eConfig.Builder\u003c/code\u003e methods by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10408\"\u003erobolectric/robolectric#10408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003etestDebugUnitTest\u003c/code\u003e from the dependencies of the \u003ccode\u003esimulator\u003c/code\u003e task by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10413\"\u003erobolectric/robolectric#10413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge branch 'google' into 'master' by \u003ca href=\"https://github.com/hoisie\"\u003e\u003ccode\u003e@​hoisie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10414\"\u003erobolectric/robolectric#10414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the snapshot version to 4.16 by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10415\"\u003erobolectric/robolectric#10415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ability to specify is80211azNtbMeasurement to ShadowRangingResult in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10410\"\u003erobolectric/robolectric#10410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded implementation for Path.op by \u003ca href=\"https://github.com/GisoBartels\"\u003e\u003ccode\u003e@​GisoBartels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10288\"\u003erobolectric/robolectric#10288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix massive code warnings of ShadowVirtualDeviceManagerTest by \u003ca href=\"https://github.com/utzcoz\"\u003e\u003ccode\u003e@​utzcoz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10399\"\u003erobolectric/robolectric#10399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove redundant String concatenation by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10417\"\u003erobolectric/robolectric#10417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate deprecated APIs to idleMainLooper for ShadowVirtualDeviceManagerTest by \u003ca href=\"https://github.com/utzcoz\"\u003e\u003ccode\u003e@​utzcoz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10418\"\u003erobolectric/robolectric#10418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Stream#toList to Stream#collect(Collectors.toList()) by \u003ca href=\"https://github.com/utzcoz\"\u003e\u003ccode\u003e@​utzcoz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10420\"\u003erobolectric/robolectric#10420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Java 11 in the simulator gradle plugin by \u003ca href=\"https://github.com/hoisie\"\u003e\u003ccode\u003e@​hoisie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10421\"\u003erobolectric/robolectric#10421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate AndroidX by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10422\"\u003erobolectric/robolectric#10422\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/robolectric/robolectric/commit/524ea8e634ad51b39356a41fbb4a3474034dd250\"\u003e\u003ccode\u003e524ea8e\u003c/code\u003e\u003c/a\u003e Bump version to 4.16.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robolectric/robolectric/commit/54fd1eeaf0ce87ac3280a7156a666dcddffe874f\"\u003e\u003ccode\u003e54fd1ee\u003c/code\u003e\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/partymola/android-bike-radar-overlay/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/partymola%2Fandroid-bike-radar-overlay/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4556193355","node_id":"PR_kwDOSsoXFc7hBp0I","number":6,"state":"closed","title":"chore(deps): bump the androidx group with 22 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-31T01:13:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T01:06:09.000Z","updated_at":"2026-05-31T01:13:04.000Z","time_to_close":413,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"androidx","update_count":22,"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-viewmodel-compose","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.compose:compose-bom","old_version":"2024.12.01","new_version":"2026.05.01"},{"name":"androidx.tv:tv-material","old_version":"1.0.0","new_version":"1.1.0"},{"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.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-paging","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.paging:paging-runtime","old_version":"3.3.5","new_version":"3.5.0"},{"name":"androidx.paging:paging-compose","old_version":"3.3.5","new_version":"3.5.0"},{"name":"androidx.security:security-crypto","old_version":"1.1.0-alpha06","new_version":"1.1.0"},{"name":"androidx.media3:media3-exoplayer","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"name":"androidx.media3:media3-exoplayer-hls","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"name":"androidx.media3:media3-ui","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"name":"androidx.media3:media3-session","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"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 22 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-viewmodel-compose | `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.compose:compose-bom | `2024.12.01` | `2026.05.01` |\n| androidx.tv:tv-material | `1.0.0` | `1.1.0` |\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.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-paging | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.paging:paging-runtime | `3.3.5` | `3.5.0` |\n| androidx.paging:paging-compose | `3.3.5` | `3.5.0` |\n| androidx.security:security-crypto | `1.1.0-alpha06` | `1.1.0` |\n| [androidx.media3:media3-exoplayer](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\n| [androidx.media3:media3-exoplayer-hls](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\n| [androidx.media3:media3-ui](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\n| [androidx.media3:media3-session](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\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.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-viewmodel-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.lifecycle:lifecycle-viewmodel-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.compose:compose-bom` from 2024.12.01 to 2026.05.01\n\nUpdates `androidx.tv:tv-material` from 1.0.0 to 1.1.0\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.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-paging` 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-paging` 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.paging:paging-runtime` from 3.3.5 to 3.5.0\n\nUpdates `androidx.paging:paging-compose` from 3.3.5 to 3.5.0\n\nUpdates `androidx.security:security-crypto` from 1.1.0-alpha06 to 1.1.0\n\nUpdates `androidx.media3:media3-exoplayer` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-exoplayer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-exoplayer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-exoplayer-hls` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-exoplayer-hls's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-exoplayer-hls's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-ui` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-session` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-session's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-session's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-exoplayer-hls` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-exoplayer-hls's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-exoplayer-hls's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-ui` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderer...\n\n_Description has been truncated_","html_url":"https://github.com/isnow-git/strix/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/isnow-git%2Fstrix/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4536269037","node_id":"PR_kwDOSpGRQM7gBUbg","number":12,"state":"closed","title":"build: bump the gradle-minor-patch group across 1 directory with 35 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-28T00:29:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-27T22:48:29.000Z","updated_at":"2026-05-28T00:29:50.000Z","time_to_close":6071,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"gradle-minor-patch","update_count":35,"packages":[{"name":"gradle-wrapper","old_version":"8.11.1","new_version":"8.14.5","repository_url":"https://github.com/gradle/gradle"},{"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.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.8"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","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":"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.ktor:ktor-server-core","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-cio","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-html-builder","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.jsoup:jsoup","old_version":"1.18.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"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":"androidx.datastore:datastore","old_version":"1.1.1","new_version":"1.2.1"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"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.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"net.zetetic:sqlcipher-android","old_version":"4.6.1","new_version":"4.16.0","repository_url":"https://github.com/sqlcipher/sqlcipher-android"},{"name":"androidx.sqlite:sqlite","old_version":"2.4.0","new_version":"2.6.2"},{"name":"com.lambdapioneer.argon2kt:argon2kt","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/lambdapioneer/argon2kt"},{"name":"org.robolectric:robolectric","old_version":"4.13","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":"com.android.application","old_version":"8.7.3","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.0.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.0.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.0.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"12.1.1","new_version":"12.3.0"},{"name":"com.google.devtools.ksp","old_version":"2.0.21-1.0.28","new_version":"2.3.9","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-patch group with 35 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.11.1` | `8.14.5` |\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.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.8` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.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.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-cio](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-html-builder](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.3` | `1.22.2` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.datastore:datastore | `1.1.1` | `1.2.1` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\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.room:room-testing | `2.6.1` | `2.8.4` |\n| [net.zetetic:sqlcipher-android](https://github.com/sqlcipher/sqlcipher-android) | `4.6.1` | `4.16.0` |\n| androidx.sqlite:sqlite | `2.4.0` | `2.6.2` |\n| [com.lambdapioneer.argon2kt:argon2kt](https://github.com/lambdapioneer/argon2kt) | `1.5.0` | `1.6.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.13` | `4.16.1` |\n| androidx.test:core | `1.6.1` | `1.7.0` |\n| com.android.application | `8.7.3` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.21` |\n| org.jlleitschuh.gradle.ktlint | `12.1.1` | `12.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.0.21-1.0.28` | `2.3.9` |\n\n\nUpdates `gradle-wrapper` from 8.11.1 to 8.14.5\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\u003e8.14.5\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 8.14.5.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 24 support\u003c/li\u003e\n\u003cli\u003eGraalVM Native Image toolchain selection\u003c/li\u003e\n\u003cli\u003eEnhancements to test reporting\u003c/li\u003e\n\u003cli\u003eBuild Authoring improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/8.14.5/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/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/benjamin-bader\"\u003eBen Bader\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/chandre92\"\u003echandre92\u003c/a\u003e,\n\u003ca href=\"https://github.com/dlehammer\"\u003eDaniel Hammer\u003c/a\u003e,\n\u003ca href=\"https://github.com/danishnawab\"\u003eDanish Nawab\u003c/a\u003e,\n\u003ca href=\"https://github.com/DreierF\"\u003eFlorian Dreier\u003c/a\u003e,\n\u003ca href=\"https://github.com/Mengmeiivy\"\u003eIvy Chen\u003c/a\u003e,\n\u003ca href=\"https://github.com/jjohannes\"\u003eJendrik Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/jimmy1995-gu\"\u003ejimmy1995-gu\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/NaMinhyeok\"\u003eNa Minhyeok\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 8.14.5 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=8.14.5 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/8.14.5/userguide/upgrading_version_8.html\"\u003e8.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/8.14.5/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\u003e8.14.4\u003c/h2\u003e\n\u003cp\u003eThis is a patch release for 8.14. We recommend using 8.14.4 instead of 8.14.\u003c/p\u003e\n\u003cp\u003eThis release addresses two security vulnerabilities:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-mqwm-5m85-gmcv\"\u003eFailure to disable repositories failing to answer can expose builds to malicious artifacts\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-w78c-w6vf-rw82\"\u003eFailure to disable repositories with unknown host can expose builds to malicious artifacts\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/gradle/gradle/commit/62345becae08b13e793521816d585102fea66398\"\u003e\u003ccode\u003e62345be\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37829\"\u003e#37829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/38049c286691bf85cee542f8b2f8dc1cc54dd25d\"\u003e\u003ccode\u003e38049c2\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f3781397d4ad84fcc034f239efe7dc350f564741\"\u003e\u003ccode\u003ef378139\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37780\"\u003e#37780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4e739b5959a5b0f1c5962cd387143c91b27343d3\"\u003e\u003ccode\u003e4e739b5\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d94136aadaa292280b860e5032e7dddc6e116112\"\u003e\u003ccode\u003ed94136a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37704\"\u003e#37704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/a2f6942e453c80634fca32ba0e11a9ce8b7baf48\"\u003e\u003ccode\u003ea2f6942\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/28df2639ea8752218176288ef6a9e678c779f73b\"\u003e\u003ccode\u003e28df263\u003c/code\u003e\u003c/a\u003e Backport exclude bugfix (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37559\"\u003e#37559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e03dca12e7b77f5f6ec00f7d81eb8734f7596d52\"\u003e\u003ccode\u003ee03dca1\u003c/code\u003e\u003c/a\u003e Upgrade BouncyCastle to 1.84 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37656\"\u003e#37656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/987d1a32e4f3d97b14413e9ee2742df820ec6beb\"\u003e\u003ccode\u003e987d1a3\u003c/code\u003e\u003c/a\u003e Bump the Jackson version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/56e392c0f0b9f16bcba1c03f7bd0bae08a82556a\"\u003e\u003ccode\u003e56e392c\u003c/code\u003e\u003c/a\u003e Bump Bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.11.1...v8.14.5\"\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.15.0 to 1.18.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` 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.navigation:navigation-compose` from 2.8.5 to 2.9.8\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\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 \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 `io.ktor:ktor-server-core` from 3.0.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according...\n\n_Description has been truncated_","html_url":"https://github.com/FlintWave/SearchMob/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlintWave%2FSearchMob/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/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":"4081854602","node_id":"PR_kwDORkKaT87K489X","number":7,"state":"closed","title":"Bump androidx.lifecycle:lifecycle-runtime-compose from 2.9.4 to 2.10.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-11T10:33:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T11:17:56.000Z","updated_at":"2026-04-11T10:33:12.000Z","time_to_close":2243707,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.lifecycle:lifecycle-runtime-compose from 2.9.4 to 2.10.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.lifecycle:lifecycle-runtime-compose\u0026package-manager=gradle\u0026previous-version=2.9.4\u0026new-version=2.10.0)](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/aeewws/codex-mobile/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeewws%2Fcodex-mobile/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"3981730944","node_id":"PR_kwDOPy0gis7F1FbC","number":18,"state":"closed","title":"build(deps): bump the maven group in /manager with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-08T23:17:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-24T06:06:56.000Z","updated_at":"2026-05-08T23:17:59.000Z","time_to_close":6369061,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"8.14.3","new_version":"9.3.1"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.4"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.3","new_version":"2.9.7"},{"name":"androidx.compose:compose-bom","old_version":"2025.07.00","new_version":"2026.02.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.12.0","new_version":"9.0.1"},{"name":"com.android.library","old_version":"8.12.0","new_version":"9.0.1"},{"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.compose","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"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.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.4","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":"/manager","ecosystem":"maven"},"body":"Bumps the maven group in /manager with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.14.3` | `9.3.1` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.4` |\n| androidx.navigation:navigation-compose | `2.9.3` | `2.9.7` |\n| androidx.compose:compose-bom | `2025.07.00` | `2026.02.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.2` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.android.application | `8.12.0` | `9.0.1` |\n| com.android.library | `8.12.0` | `9.0.1` |\n| [org.jetbrains.kotlin.android](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| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.6` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.4` |\n\nUpdates `gradle-wrapper` from 8.14.3 to 9.3.1\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.4\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.3 to 2.9.7\n\nUpdates `androidx.compose:compose-bom` from 2025.07.00 to 2026.02.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\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 8.12.0 to 9.0.1\n\nUpdates `com.android.library` from 8.12.0 to 9.0.1\n\nUpdates `com.android.library` from 8.12.0 to 9.0.1\n\nUpdates `org.jetbrains.kotlin.android` 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.android'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.android'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.plugin.compose` 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.plugin.compose'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.plugin.compose'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.plugin.compose` 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.plugin.compose'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.plugin.compose'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 `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.lsposed.lsplugin.cmaker` from 1.2 to 1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\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/TycOnee/KernelSU-Next/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TycOnee%2FKernelSU-Next/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"3936576539","node_id":"PR_kwDOPkCqE87Dhoo_","number":18,"state":"open","title":"chore(deps): bump androidx.lifecycle:lifecycle-runtime-compose from 2.8.4 to 2.10.0","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-02-13T10:53:04.000Z","updated_at":"2026-02-13T10:53:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.8.4","new_version":"2.10.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.lifecycle:lifecycle-runtime-compose from 2.8.4 to 2.10.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.lifecycle:lifecycle-runtime-compose\u0026package-manager=gradle\u0026previous-version=2.8.4\u0026new-version=2.10.0)](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/FreetimeMaker/GeoWeather/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreetimeMaker%2FGeoWeather/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"3933373384","node_id":"PR_kwDOOXg8bc7DXBv2","number":6,"state":"closed","title":"deps(android): bump the gradle-all group in /apps/android with 26 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-23T11:33:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-12T18:35:35.000Z","updated_at":"2026-02-23T11:33:05.000Z","time_to_close":925049,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(android): bump","group_name":"gradle-all","update_count":26,"packages":[{"name":"com.android.application","old_version":"8.13.2","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2024.12.01","new_version":"2026.02.00"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.12.4"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.7"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.squareup.retrofit2:retrofit","old_version":"2.11.0","new_version":"3.0.0","repository_url":"https://github.com/square/retrofit"},{"name":"com.squareup.retrofit2:converter-gson","old_version":"2.11.0","new_version":"3.0.0","repository_url":"https://github.com/square/retrofit"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.squareup.okhttp3:logging-interceptor","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"io.insert-koin:koin-android","old_version":"4.0.0","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-androidx-compose","old_version":"4.0.0","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"androidx.security:security-crypto","old_version":"1.1.0-alpha06","new_version":"1.1.0"},{"name":"androidx.credentials:credentials","old_version":"1.5.0-beta01","new_version":"1.6.0-rc01"},{"name":"androidx.credentials:credentials-play-services-auth","old_version":"1.5.0-beta01","new_version":"1.6.0-rc01"},{"name":"com.google.android.gms:play-services-fido","old_version":"21.1.0","new_version":"21.2.0"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.squareup.okhttp3:mockwebserver","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"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":"gradle-wrapper","old_version":"8.13","new_version":"9.3.1"}],"path":"/apps/android","ecosystem":"maven"},"body":"Bumps the gradle-all group in /apps/android with 26 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `8.13.2` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.10` |\n| androidx.compose:compose-bom | `2024.12.01` | `2026.02.00` |\n| androidx.activity:activity-compose | `1.9.3` | `1.12.4` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.7` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.10.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [com.squareup.retrofit2:retrofit](https://github.com/square/retrofit) | `2.11.0` | `3.0.0` |\n| [com.squareup.retrofit2:converter-gson](https://github.com/square/retrofit) | `2.11.0` | `3.0.0` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [com.squareup.okhttp3:logging-interceptor](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [io.insert-koin:koin-android](https://github.com/InsertKoinIO/koin) | `4.0.0` | `4.1.1` |\n| [io.insert-koin:koin-androidx-compose](https://github.com/InsertKoinIO/koin) | `4.0.0` | `4.1.1` |\n| androidx.security:security-crypto | `1.1.0-alpha06` | `1.1.0` |\n| androidx.credentials:credentials | `1.5.0-beta01` | `1.6.0-rc01` |\n| androidx.credentials:credentials-play-services-auth | `1.5.0-beta01` | `1.6.0-rc01` |\n| com.google.android.gms:play-services-fido | `21.1.0` | `21.2.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [com.squareup.okhttp3:mockwebserver](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\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| gradle-wrapper | `8.13` | `9.3.1` |\n\nUpdates `com.android.application` from 8.13.2 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.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.android'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.android'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.1.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.plugin.compose` from 2.1.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.plugin.compose'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.plugin.compose'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.1.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.plugin.serialization` from 2.1.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.plugin.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.plugin.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.1.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 `androidx.compose:compose-bom` from 2024.12.01 to 2026.02.00\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.12.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.7\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.10.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.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\u003cp\u003ePolymorphic serialization received a couple of improvements in this release:\u003c/p\u003e\n\u003ch4\u003eNew \u003ccode\u003esubclassesOfSealed\u003c/code\u003e utility to automatically register sealed subclasses serializers in polymorphic modules (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2201\"\u003e#2201\u003c/a\u003e).\u003c/h4\u003e\n\u003cp\u003eUse it in your \u003ccode\u003eSerializersModule\u003c/code\u003e when configuring a polymorphic hierarchy which contains both abstract and sealed classes. \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2199\"\u003eFor example\u003c/a\u003e, when root of your hierarchy is an \u003ccode\u003einterface\u003c/code\u003e, but most of your inheritors are \u003ccode\u003esealed\u003c/code\u003e classes. The new function will register all known sealed subclasses for you, so you don’t need to list them one by one. This makes writing your \u003ccode\u003eSerializerModule\u003c/code\u003es much faster and simpler. Big thanks to \u003ca href=\"https://github.com/pdvrieze\"\u003ePaul de Vrieze\u003c/a\u003e for contributing this feature.\u003c/p\u003e\n\u003ch4\u003eClass discriminator conflict check rework (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/h4\u003e\n\u003cp\u003eIf a payload already contains a property with the same name as the configured discriminator (for example, \u003ccode\u003etype\u003c/code\u003e),\nit is called a class discriminator conflict. To produce a correct output and allow more inputs to be deserialized at the same time, the following changes were made:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConflicts introduced by \u003ccode\u003eJsonNamingStrategy\u003c/code\u003e transformations are now detected during serialization as well and will cause \u003ccode\u003eSerializationException\u003c/code\u003e.\nIt also affects non-polymorphic classes.\u003c/li\u003e\n\u003cli\u003eConflicts from \u003ccode\u003eClassDisciminatorMode.ALL_JSON_OBJECTS\u003c/code\u003e and \u003ccode\u003eSerializersModuleBuilder.polymorphicDefaultSerializer\u003c/code\u003e are also detected.\u003c/li\u003e\n\u003cli\u003eIt is allowed to deserialize such a conflicting key for both sealed and open polymorphic hierarchies.\nPreviously, it was possible in the sealed hierarchies alone due to missing assertion. See \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1664\"\u003e#1664\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGeneral improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e.serialName\u003c/code\u003e to \u003ccode\u003eMissingFieldException\u003c/code\u003e for clearer diagnostics. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3114\"\u003e#3114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerate unique \u003ccode\u003eAutomatic-Module-Name\u003c/code\u003e entries for metadata JARs. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3109\"\u003e#3109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevised ProGuard rules and added R8 tests. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3041\"\u003e#3041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCBOR: Improved error message when a byte string/array type mismatch is encountered. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3052\"\u003e#3052\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\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.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\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\nat 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\ncan get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e.\nTo 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\u003cp\u003ePolymorphic serialization received a couple of improvements in this release:\u003c/p\u003e\n\u003cp\u003eNew \u003ccode\u003esubclassesOfSealed\u003c/code\u003e utility to automatically register sealed subclasses serializers in polymorphic modules (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2201\"\u003e#2201\u003c/a\u003e).\nUse it in your \u003ccode\u003eSerializersModule\u003c/code\u003e when configuring a polymorphic hierarchy which contains both abstract and sealed classes.\n\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2199\"\u003eFor example\u003c/a\u003e, when root of your hierarchy is an \u003ccode\u003einterface\u003c/code\u003e, but most of your inheritors are \u003ccode\u003esealed\u003c/code\u003e classes.\nThe new function will register all known sealed subclasses for you, so you don’t need to list them one by one.\nThis makes writing your \u003ccode\u003eSerializerModule\u003c/code\u003es much faster and simpler.\nBig thanks to \u003ca href=\"https://github.com/pdvrieze\"\u003ePaul de Vrieze\u003c/a\u003e for contributing this feature.\u003c/p\u003e\n\u003cp\u003eClass discriminator conflict check rework (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3105\"\u003e#3105\u003c/a\u003e).\nIf a payload already contains a property with the same name as the configured discriminator (for example, \u003ccode\u003etype\u003c/code\u003e),\nit is called a class discriminator conflict.\nTo produce a correct output and allow more inputs to be deserialized at the same time, the following changes were made:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConflicts introduced by \u003ccode\u003eJsonNamingStrategy\u003c/code\u003e transformations are now detected during serialization as well and will cause \u003ccode\u003eSerializationException\u003c/code\u003e.\nIt also affects non-polymorphic classes.\u003c/li\u003e\n\u003cli\u003eConflicts from \u003ccode\u003eClassDisciminatorMode.ALL_JSON_OBJECTS\u003c/code\u003e and \u003ccode\u003eSerializersModuleBuilder.polymorphicDefaultSerializer\u003c/code\u003e are also detected.\u003c/li\u003e\n\u003cli\u003eIt is allowed to deserialize such a conflicting key for both sealed and open polymorphic hierarchies.\nPreviously, it was possible in the sealed hierarchies alone due to missing assertion. See \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1664\"\u003e#1664\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGeneral 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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/370c4e3780066b82f746cf38e4733cbe62c94f74\"\u003e\u003ccode\u003e370c4e3\u003c/code\u003e\u003c/a\u003e Prepare 1.10.0 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3142\"\u003e#3142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/eaa4b0b55fdb85876955829a1fb67beb4d2f2064\"\u003e\u003ccode\u003eeaa4b0b\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/0311f163cb4c7fde8268a45989f2b781a8847d57\"\u003e\u003ccode\u003e0311f16\u003c/code\u003e\u003c/a\u003e Fix ProtoBuf packing for kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a19df8cfd295e1cc6dbd35d50e33bf21c2463c09\"\u003e\u003ccode\u003ea19df8c\u003c/code\u003e\u003c/a\u003e Add a disclaimer to \u0026quot;Other community-supported formats\u0026quot; section and slightly ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/2f8a8747b01eaaeed0ea04467eefe2ae74096159\"\u003e\u003ccode\u003e2f8a874\u003c/code\u003e\u003c/a\u003e Add JSON5 to community-supported formats (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/975af2ca94b77f9117248f0c977f2791e7caac59\"\u003e\u003ccode\u003e975af2c\u003c/code\u003e\u003c/a\u003e Actualize releasing process document\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/e8be81f319d528ea93ad5da59cb7ff513eca2ead\"\u003e\u003ccode\u003ee8be81f\u003c/code\u003e\u003c/a\u003e Prepare 1.10.0-RC release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/e334d1c3927753e579f064aa53327585d995a0c0\"\u003e\u003ccode\u003ee334d1c\u003c/code\u003e\u003c/a\u003e [CBOR] Fix various bugs in the decoder implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/d7ca108a77e69c80977e386eecca002187f0699f\"\u003e\u003ccode\u003ed7ca108\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/a5a3c97a590571de3f6692c21d00de95aa16226c\"\u003e\u003ccode\u003ea5a3c97\u003c/code\u003e\u003c/a\u003e IR inliner: Enable intra-module mode for kotlinx.serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.10.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.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-android'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\u003c/blockquote\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.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\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/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.9.0...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.squareup.retrofit2:retrofit` from 2.11.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/square/retrofit/releases\"\u003ecom.squareup.retrofit2:retrofit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eChanged\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade to OkHttp 4.12 (from 3.14).\u003c/p\u003e\n\u003cp\u003eThis is the version of OkHttp that is written in Kotlin, and as a result Retrofit now has a transitive Kotlin dependency. However, this is also the \u003cem\u003esupported\u003c/em\u003e version of OkHttp whereas the previous version was out of support for nearly 4 years.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNote: The 3.x versions of Retrofit maintain forward binary-compatibility with the 2.x versions.\nThis means libraries compiled against 2.x can still be used with the 3.x versions.\u003c/p\u003e\n\u003ch2\u003e2.12.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFirst-party converters now support deferring serialization to happen when the request body is written (i.e., during HTTP execution) rather than when the HTTP request is created. In some cases this moves conversion from a calling thread to a background thread, such as in the case when using \u003ccode\u003eCall.enqueue\u003c/code\u003e directly.\u003c/p\u003e\n\u003cp\u003eThe following converters support this feature through a new \u003ccode\u003ewithStreaming()\u003c/code\u003e factory method:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGson\u003c/li\u003e\n\u003cli\u003eJackson\u003c/li\u003e\n\u003cli\u003eMoshi\u003c/li\u003e\n\u003cli\u003eProtobuf\u003c/li\u003e\n\u003cli\u003eWire\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrimitive types used with \u003ccode\u003e@Tag\u003c/code\u003e now work by storing the value boxed with the boxed class as the key.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\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/square/retrofit/blob/trunk/CHANGELOG.md\"\u003ecom.squareup.retrofit2:retrofit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/square/retrofit/releases/tag/3.0.0\"\u003e3.0.0\u003c/a\u003e - 2025-05-15\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eChanged\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade to OkHttp 4.12 (from 3.14).\u003c/p\u003e\n\u003cp\u003eThis is the version of OkHttp that is written in Kotlin, and as a result Retrofit now has a transitive Kotlin dependency. However, this is also the \u003cem\u003esupported\u003c/em\u003e version of OkHttp whereas the previous version was out of support for nearly 4 years.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNote: The 3.x versions of Retrofit maintain forward binary-compatibility with the 2.x versions.\nThis means libraries compiled against 2.x can still be used with the 3.x versions.\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/square/retrofit/releases/tag/2.12.0\"\u003e2.12.0\u003c/a\u003e - 2025-05-15\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFirst-party converters now support deferring serialization to happen when the request body is written (i.e., during HTTP execution) rather than when the HTTP request is created. In some cases this moves conversion from a calling thread to a background thread, such as in the case when using \u003ccode\u003eCall.enqueue\u003c/code\u003e directly.\u003c/p\u003e\n\u003cp\u003eThe following converters support this feature through a new \u003ccode\u003ewithStreaming()\u003c/code\u003e factory method:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGson\u003c/li\u003e\n\u003cli\u003eJackson\u003c/li\u003e\n\u003cli\u003eMoshi\u003c/li\u003e\n\u003cli\u003eProtobuf\u003c/li\u003e\n\u003cli\u003eWire\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrimitive types used with \u003ccode\u003e@Tag\u003c/code\u003e now work by storing the value boxed with the boxed class as the key.\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/square/retrofit/commit/3ab0f1a2c18666adb79ebf4eacef6fbc40d3e801\"\u003e\u003ccode\u003e3ab0f1a\u003c/code\u003e\u003c/a\u003e Prepare version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/e5c02d08f3777ce00a31fb37d77f15eecdf4e383\"\u003e\u003ccode\u003ee5c02d0\u003c/code\u003e\u003c/a\u003e Commit 2.x docs (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4378\"\u003e#4378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/5bc3f183cfa24ab1f382c2029dc82ee292caef1b\"\u003e\u003ccode\u003e5bc3f18\u003c/code\u003e\u003c/a\u003e Fix links on the proudction site (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4377\"\u003e#4377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/7c3b2290bd6cd985ebaa93bfc183abd1bf04b977\"\u003e\u003ccode\u003e7c3b229\u003c/code\u003e\u003c/a\u003e Remove compileOnly stdlib dependency (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4376\"\u003e#4376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/84185470adc33a0f1b3d8766f2d722c770e2e89a\"\u003e\u003ccode\u003e8418547\u003c/code\u003e\u003c/a\u003e Update okhttp monorepo to v4 (major) (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4375\"\u003e#4375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/06216a3b24ad828e511fd25b4858a1ed104c8719\"\u003e\u003ccode\u003e06216a3\u003c/code\u003e\u003c/a\u003e Try to fix removal of latest dir during release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/1697bdc4913a34871125c96c7be16b688c6e82bc\"\u003e\u003ccode\u003e1697bdc\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/5a6ce364ad5208999a8e0847de760f97d39ecffe\"\u003e\u003ccode\u003e5a6ce36\u003c/cod...\n\n_Description has been truncated_","html_url":"https://github.com/bedrud-ir/bedrud/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bedrud-ir%2Fbedrud/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"3917403782","node_id":"PR_kwDOQroX6s7CiR3m","number":55,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-15T02:58:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T17:37:31.000Z","updated_at":"2026-02-15T02:58:53.000Z","time_to_close":465681,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.1"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.3"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.6","new_version":"2.9.7"},{"name":"io.github.kyant0:capsule","old_version":"2.1.2","new_version":"2.1.3","repository_url":"https://github.com/Kyant0/Capsule"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.01"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha09","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.ui:ui","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"org.lsposed.libcxx:libcxx","old_version":"29.0.13599879-beta2","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"androidx.compose.foundation:foundation","old_version":"1.9.4","new_version":"1.10.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.4","new_version":"2.3.5","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 17 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.1` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.3` |\n| androidx.navigation:navigation-compose | `2.9.6` | `2.9.7` |\n| [io.github.kyant0:capsule](https://github.com/Kyant0/Capsule) | `2.1.2` | `2.1.3` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.01` |\n| androidx.compose.material3:material3 | `1.5.0-alpha09` | `1.5.0-alpha13` |\n| androidx.compose.ui:ui | `1.9.4` | `1.10.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.4` | `1.10.2` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `29.0.13599879-beta2` | `29.0.14206865` |\n| androidx.compose.foundation:foundation | `1.9.4` | `1.10.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.4` | `2.3.5` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.1\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.3\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.6 to 2.9.7\n\nUpdates `io.github.kyant0:capsule` from 2.1.2 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/2b8754ec7d706383bfdaa6e33610772e2ef4da7d\"\u003e\u003ccode\u003e2b8754e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/503266be3fae7d2f2d8401bedccd3cd1791db382\"\u003e\u003ccode\u003e503266b\u003c/code\u003e\u003c/a\u003e Add a line break\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/Capsule/compare/2.1.2...2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.01\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha09 to 1.5.0-alpha13\n\nUpdates `androidx.compose.ui:ui` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `org.lsposed.libcxx:libcxx` from 29.0.13599879-beta2 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/29.0.13599879-beta2...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose.foundation:foundation` from 1.9.4 to 1.10.2\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 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.android'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.android'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...v2.3.10\"\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.5\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.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/d97389ef1d2f9fbad31e5839ec7340ccf8813438\"\u003e\u003ccode\u003ed97389e\u003c/code\u003e\u003c/a\u003e Dispose of threadlocals in KSPCoreEnvironment after processing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/24d46e3c8ee9f2958a49598bcc483e437316aa6e\"\u003e\u003ccode\u003e24d46e3\u003c/code\u003e\u003c/a\u003e Update shadow-validation-baseline.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/924a66a61c834c2e89f7f96feafd78b80c8c8423\"\u003e\u003ccode\u003e924a66a\u003c/code\u003e\u003c/a\u003e Update metalava to 1.0.0-alpha14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/9edb1591aec2844f6bbf5b86fcef4760cfeb6356\"\u003e\u003ccode\u003e9edb159\u003c/code\u003e\u003c/a\u003e Remove JavaVersion.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/d6ac4945fdb87873a89a2335d9251c97e6f27a57\"\u003e\u003ccode\u003ed6ac494\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-7064\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a5a5f4052a45ca2f3c2cd94bc97d79208ca016e\"\u003e\u003ccode\u003e1a5a5f4\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-5706\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c410900e1307e17b4e213c5c6189acf4b321148b\"\u003e\u003ccode\u003ec410900\u003c/code\u003e\u003c/a\u003e Get rid of KotlinCoreEnvironment.createForTests()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6d5137b6a77a5ce18813e3f1964ebbd49e447a6f\"\u003e\u003ccode\u003e6d5137b\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-4294\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/fee66093278a8fe6f80c621ac9c5e2eb10594824\"\u003e\u003ccode\u003efee6609\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-2826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6aad46a3e0098724c8d1894d107623977fe5b60c\"\u003e\u003ccode\u003e6aad46a\u003c/code\u003e\u003c/a\u003e Switch to intellij's coroutines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\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/ReSukiSU/ReSukiSU/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReSukiSU%2FReSukiSU/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"},{"uuid":"3913223740","node_id":"PR_kwDOQroX6s7CUkWC","number":51,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-08T21:05:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-08T18:03:55.000Z","updated_at":"2026-02-08T21:05:59.000Z","time_to_close":10922,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.1"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.3"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.6","new_version":"2.9.7"},{"name":"io.github.kyant0:capsule","old_version":"2.1.2","new_version":"2.1.3","repository_url":"https://github.com/Kyant0/Capsule"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.01"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha09","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.ui:ui","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"org.lsposed.libcxx:libcxx","old_version":"29.0.13599879-beta2","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"androidx.compose.foundation:foundation","old_version":"1.9.4","new_version":"1.10.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.4","new_version":"2.3.5","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 17 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.1` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.3` |\n| androidx.navigation:navigation-compose | `2.9.6` | `2.9.7` |\n| [io.github.kyant0:capsule](https://github.com/Kyant0/Capsule) | `2.1.2` | `2.1.3` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.01` |\n| androidx.compose.material3:material3 | `1.5.0-alpha09` | `1.5.0-alpha13` |\n| androidx.compose.ui:ui | `1.9.4` | `1.10.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.4` | `1.10.2` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `29.0.13599879-beta2` | `29.0.14206865` |\n| androidx.compose.foundation:foundation | `1.9.4` | `1.10.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.4` | `2.3.5` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.1\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.3\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.6 to 2.9.7\n\nUpdates `io.github.kyant0:capsule` from 2.1.2 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/2b8754ec7d706383bfdaa6e33610772e2ef4da7d\"\u003e\u003ccode\u003e2b8754e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/503266be3fae7d2f2d8401bedccd3cd1791db382\"\u003e\u003ccode\u003e503266b\u003c/code\u003e\u003c/a\u003e Add a line break\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/Capsule/compare/2.1.2...2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.01\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha09 to 1.5.0-alpha13\n\nUpdates `androidx.compose.ui:ui` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `org.lsposed.libcxx:libcxx` from 29.0.13599879-beta2 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/29.0.13599879-beta2...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose.foundation:foundation` from 1.9.4 to 1.10.2\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 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.android'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.android'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...v2.3.10\"\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.5\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.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/d97389ef1d2f9fbad31e5839ec7340ccf8813438\"\u003e\u003ccode\u003ed97389e\u003c/code\u003e\u003c/a\u003e Dispose of threadlocals in KSPCoreEnvironment after processing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/24d46e3c8ee9f2958a49598bcc483e437316aa6e\"\u003e\u003ccode\u003e24d46e3\u003c/code\u003e\u003c/a\u003e Update shadow-validation-baseline.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/924a66a61c834c2e89f7f96feafd78b80c8c8423\"\u003e\u003ccode\u003e924a66a\u003c/code\u003e\u003c/a\u003e Update metalava to 1.0.0-alpha14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/9edb1591aec2844f6bbf5b86fcef4760cfeb6356\"\u003e\u003ccode\u003e9edb159\u003c/code\u003e\u003c/a\u003e Remove JavaVersion.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/d6ac4945fdb87873a89a2335d9251c97e6f27a57\"\u003e\u003ccode\u003ed6ac494\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-7064\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a5a5f4052a45ca2f3c2cd94bc97d79208ca016e\"\u003e\u003ccode\u003e1a5a5f4\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-5706\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c410900e1307e17b4e213c5c6189acf4b321148b\"\u003e\u003ccode\u003ec410900\u003c/code\u003e\u003c/a\u003e Get rid of KotlinCoreEnvironment.createForTests()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6d5137b6a77a5ce18813e3f1964ebbd49e447a6f\"\u003e\u003ccode\u003e6d5137b\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-4294\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/fee66093278a8fe6f80c621ac9c5e2eb10594824\"\u003e\u003ccode\u003efee6609\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-2826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6aad46a3e0098724c8d1894d107623977fe5b60c\"\u003e\u003ccode\u003e6aad46a\u003c/code\u003e\u003c/a\u003e Switch to intellij's coroutines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\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/ReSukiSU/ReSukiSU/pull/51","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReSukiSU%2FReSukiSU/issues/51","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/51/packages"},{"uuid":"3870582640","node_id":"PR_kwDOREExUc7AIF5T","number":2,"state":"open","title":"Bump the maven-dependencies group with 17 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-01-29T13:07:34.000Z","updated_at":"2026-01-30T13:39:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven-dependencies","update_count":17,"packages":[{"name":"androidx.lifecycle:lifecycle-process","old_version":"2.8.7","new_version":"2.10.0"},{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.3"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha05"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.01"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"com.google.code.gson:gson","old_version":"2.10.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.0"},{"name":"com.google.devtools.ksp","old_version":"2.3.1","new_version":"2.3.5","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.lifecycle:lifecycle-process | `2.8.7` | `2.10.0` |\n| gradle-wrapper | `9.2.0` | `9.3.0` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.3` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha05` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.01` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.10.1` | `2.13.2` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.android.application | `8.13.1` | `9.0.0` |\n| com.android.library | `8.13.1` | `9.0.0` |\n| org.jetbrains.kotlin.android | `2.2.21` | `2.3.0` |\n| org.jetbrains.kotlin.plugin.compose | `2.2.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.1` | `2.3.5` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.3\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `androidx.biometric:biometric` from 1.2.0-alpha05 to 1.4.0-alpha05\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.01\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `com.google.code.gson:gson` from 2.10.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved packaging of JPMS module declaration in Gson jar\u003cbr /\u003e\nThis fixes an issue where Eclipse and VS Code users could not refer to the Gson module name \u003ccode\u003ecom.google.gson\u003c/code\u003e. See issue \u003ca href=\"https://redirect.github.com/google/gson/issues/2679\"\u003egoogle/gson#2679\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove internal class \u003ccode\u003eGsonPreconditions\u003c/code\u003e by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2879\"\u003egoogle/gson#2879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to using central-publishing-maven-plugin by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2900\"\u003egoogle/gson#2900\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/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2852\"\u003egoogle/gson#2852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChrisCraik\"\u003e\u003ccode\u003e@​ChrisCraik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2856\"\u003egoogle/gson#2856\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGson 2.13.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGive FieldNamingStrategy the ability to return multiple String names by \u003ca href=\"https://github.com/mfriesen\"\u003e\u003ccode\u003e@​mfriesen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2776\"\u003egoogle/gson#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove outdated android-proguard-example by \u003ca href=\"https://github.com/Goooler\"\u003e\u003ccode\u003e@​Goooler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2843\"\u003egoogle/gson#2843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust Troubleshooting Guide ProGuard / R8 section by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2844\"\u003egoogle/gson#2844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependencies, including the problematic \u003ccode\u003ecom.google.errorprone:error_prone_annotations:2.37.0\u003c/code\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/mfriesen\"\u003e\u003ccode\u003e@​mfriesen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2776\"\u003egoogle/gson#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Goooler\"\u003e\u003ccode\u003e@​Goooler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2843\"\u003egoogle/gson#2843\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.0...gson-parent-2.13.1\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.0...gson-parent-2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGson 2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA bug in deserializing collections has been fixed. Previously, if you did something like this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egson.fromJson(jsonString, new TypeToken\u0026lt;ImmutableList\u0026lt;String\u0026gt;\u0026gt;() {})\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ethen the inferred type would be \u003ccode\u003eImmutableList\u0026lt;String\u0026gt;\u003c/code\u003e, but Gson actually gave you an \u003ccode\u003eArrayList\u0026lt;String\u0026gt;\u003c/code\u003e. Usually that would lead to an immediate \u003ccode\u003eClassCastException\u003c/code\u003e, but in some circumstances the code might sometimes succeed despite the wrong type. Now you will see an exception like this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ecom.google.gson.JsonIOException: Abstract classes can't be instantiated!\nAdjust the R8 configuration or register an InstanceCreator or a TypeAdapter for this type.\nClass name: com.google.common.collect.ImmutableList\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ebecause Gson now really is trying to create an \u003ccode\u003eImmutableList\u003c/code\u003e through its constructor, but that isn't possible.\nEither change the requested type (in the \u003ccode\u003eTypeToken\u003c/code\u003e) to \u003ccode\u003eList\u0026lt;String\u0026gt;\u003c/code\u003e, or register a \u003ccode\u003eTypeAdapter\u003c/code\u003e or \u003ccode\u003eJsonDeserializer\u003c/code\u003e for \u003ccode\u003eImmutableList\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe internal classes \u003ccode\u003e$Gson$Types\u003c/code\u003e and \u003ccode\u003e$Gson$Preconditions\u003c/code\u003e have been renamed to remove the \u003ccode\u003e$\u003c/code\u003e characters. Since these are internal classes (as signaled not only by the package name but by the \u003ccode\u003e$\u003c/code\u003e characters), client code should not be affected. If your code \u003cem\u003ewas\u003c/em\u003e depending on these classes then we suggest making a copy of the class (subject to the \u003ca href=\"https://www.apache.org/licenses/LICENSE-2.0\"\u003elicense\u003c/a\u003e) rather than depending on the new names.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.12.1...gson-parent-2.13.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.12.1...gson-parent-2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGson 2.12.1\u003c/h2\u003e\n\u003cp\u003eThe only difference between this release and 2.12.0 is that OSGi declarations in the Gson jar now specify that \u003ccode\u003ecom.google.errorprone.annotations\u003c/code\u003e  is an optional dependency, not a required one. If you do not use OSGi then there is no effective change.\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/google/gson/commit/686fad782d969d8f15c7581a5435a208b810caa7\"\u003e\u003ccode\u003e686fad7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/c2d252a7e93d45b224a72b4ba8148a438cc1d59b\"\u003e\u003ccode\u003ec2d252a\u003c/code\u003e\u003c/a\u003e Switch to using central-publishing-maven-plugin. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/69cb755e5209b719b57f3b6f1a864b080cdca314\"\u003e\u003ccode\u003e69cb755\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/ea552c2278784e12094c8daea06b18679b2da2c9\"\u003e\u003ccode\u003eea552c2\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2898\"\u003e#2898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/fdc616d0da2fea0b28828386a38396eac66d85fd\"\u003e\u003ccode\u003efdc616d\u003c/code\u003e\u003c/a\u003e Set top-level permissions for CodeQL workflow (\u003ca href=\"https://redirect.github.com/google/gson/issues/2889\"\u003e#2889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/9334715a48aaf11c9f80f89f8242ba7d1c2d0c27\"\u003e\u003ccode\u003e9334715\u003c/code\u003e\u003c/a\u003e Create scorecard.yml (\u003ca href=\"https://redirect.github.com/google/gson/issues/2888\"\u003e#2888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f7de5c2c22dae98f2f98eefcb70c920ff71e437b\"\u003e\u003ccode\u003ef7de5c2\u003c/code\u003e\u003c/a\u003e Bump the maven group with 8 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/8c23cd363daec806d2e9b69665520043914782ac\"\u003e\u003ccode\u003e8c23cd3\u003c/code\u003e\u003c/a\u003e Update sources to satisfy a new Error Prone check. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5eab3eda9fff9db77b82eae621c26f1d7263386f\"\u003e\u003ccode\u003e5eab3ed\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2886\"\u003e#2886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5f5c20026009010608de17a9e5312849230b3b0b\"\u003e\u003ccode\u003e5f5c200\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 10 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.10.1...gson-parent-2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\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 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 to 2.3.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\nUpdates `com.google.devtools.ksp` from 2.3.1 to 2.3.5\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.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\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This release is a hotfix for a regression introduced in 2.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where KSP incorrectly processed specific nullable annotations from Java interfaces, leading to incorrect nullability in the generated Kotlin code \u003ca href=\"https://redirect.github.com/google/ksp/issues/2696\"\u003e#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a regression introduced in \u003ca href=\"https://redirect.github.com/google/ksp/issues/2656\"\u003e#2656\u003c/a\u003e that caused runtime failures for projects using AGP 8.8.0 and older due to an incompatible, version-specific type check. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2694\"\u003e#2694\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.2\"\u003ehttps://github.com/google/ksp/compare/2.3.1...2.3.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/google/ksp/commit/d97389ef1d2f9fbad31e5839ec7340ccf8813438\"\u003e\u003ccode\u003ed97389e\u003c/code\u003e\u003c/a\u003e Dispose of threadlocals in KSPCoreEnvironment after processing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/24d46e3c8ee9f2958a49598bcc483e437316aa6e\"\u003e\u003ccode\u003e24d46e3\u003c/code\u003e\u003c/a\u003e Update shadow-validation-baseline.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/924a66a61c834c2e89f7f96feafd78b80c8c8423\"\u003e\u003ccode\u003e924a66a\u003c/code\u003e\u003c/a\u003e Update metalava to 1.0.0-alpha14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/9edb1591aec2844f6bbf5b86fcef4760cfeb6356\"\u003e\u003ccode\u003e9edb159\u003c/code\u003e\u003c/a\u003e Remove JavaVersion.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/d6ac4945fdb87873a89a2335d9251c97e6f27a57\"\u003e\u003ccode\u003ed6ac494\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-7064\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a5a5f4052a45ca2f3c2cd94bc97d79208ca016e\"\u003e\u003ccode\u003e1a5a5f4\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-5706\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c410900e1307e17b4e213c5c6189acf4b321148b\"\u003e\u003ccode\u003ec410900\u003c/code\u003e\u003c/a\u003e Get rid of KotlinCoreEnvironment.createForTests()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6d5137b6a77a5ce18813e3f1964ebbd49e447a6f\"\u003e\u003ccode\u003e6d5137b\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-4294\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/fee66093278a8fe6f80c621ac9c5e2eb10594824\"\u003e\u003ccode\u003efee6609\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-2826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6aad46a3e0098724c8d1894d107623977fe5b60c\"\u003e\u003ccode\u003e6aad46a\u003c/code\u003e\u003c/a\u003e Switch to intellij's coroutines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.lsplugin.cmaker` from 1.2 to 1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/Kdufse/ACPatch/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kdufse%2FACPatch/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"3862805102","node_id":"PR_kwDOPlx9Ks6_uH4C","number":90,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-05T15:22:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-27T23:08:05.000Z","updated_at":"2026-02-05T15:22:15.000Z","time_to_close":749641,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.1","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.07.00","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.2.0-2.0.2","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the maven group with 17 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.1` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.07.00` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.2` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.android.application | `8.13.1` | `9.0.0` |\n| com.android.library | `8.13.1` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.1 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.07.00 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\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 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.0\"\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.4\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.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\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This release is a hotfix for a regression introduced in 2.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where KSP incorrectly processed specific nullable annotations from Java interfaces, leading to incorrect nullability in the generated Kotlin code \u003ca href=\"https://redirect.github.com/google/ksp/issues/2696\"\u003e#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a regression introduced in \u003ca href=\"https://redirect.github.com/google/ksp/issues/2656\"\u003e#2656\u003c/a\u003e that caused runtime failures for projects using AGP 8.8.0 and older due to an incompatible, version-specific type check. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2694\"\u003e#2694\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.2\"\u003ehttps://github.com/google/ksp/compare/2.3.1...2.3.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for AGP 9.0 and built-in Kotlin \u003ca href=\"https://redirect.github.com/google/ksp/issues/2674\"\u003e#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug in getJvmCheckedException that incorrectly handled nested classes. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2584\"\u003e#2584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved incorrect caching for KSValueArgumentLiteImpl that wrongly merged arguments with different parents, origins, or locations \u003ca href=\"https://redirect.github.com/google/ksp/issues/2677\"\u003e#2677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\n\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.0...2.3.1\"\u003ehttps://github.com/google/ksp/compare/2.3.0...2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP1 has been deprecated[ \u003ca href=\"https://redirect.github.com/google/ksp/issues/2657\"\u003e#2657\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/ksp/pull/2657\"\u003egoogle/ksp#2657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKSP version is no longer tied to the Kotlin compiler version (moving away from the old \u003c!-- raw HTML omitted --\u003e-\u003c!-- raw HTML omitted --\u003e format). \u003ca href=\"https://redirect.github.com/google/ksp/issues/2658\"\u003e#2658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKSP is no longer a compiler plugin (like KSP1). It now operates as a more standalone tool built on stable compiler APIs (shared with tools like IntelliJ).\u003c/li\u003e\n\u003cli\u003eKSP now has fewer limitations on the Kotlin version in use and allows the KSP team to provide better compatibility to KGP/AGP/Gradle\u003c/li\u003e\n\u003cli\u003eRead more about KSP2: \u003ca href=\"https://github.com/google/ksp/blob/main/docs/ksp2.md\"\u003ehttps://github.com/google/ksp/blob/main/docs/ksp2.md\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/google/ksp/commit/50bed184c9ac0dccb09f605a427ce502842c8ead\"\u003e\u003ccode\u003e50bed18\u003c/code\u003e\u003c/a\u003e [AGP Built in kotlin] Pass kotlin sources from variant api as they are\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e19caf04272d47d260462c39242832f86657a4c2\"\u003e\u003ccode\u003ee19caf0\u003c/code\u003e\u003c/a\u003e Simplify disk space cleanup step condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/570a03b402947910d0eec7550035d58272a83d35\"\u003e\u003ccode\u003e570a03b\u003c/code\u003e\u003c/a\u003e Remove timeout setting from GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/88f7a55f12bf351945696308aff50c2fec7d7d24\"\u003e\u003ccode\u003e88f7a55\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/23cacddd704a1863ad3c80bacf04d78c92144c8a\"\u003e\u003ccode\u003e23cacdd\u003c/code\u003e\u003c/a\u003e Don't register sources to kotlin srcDirs for android compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/7f142d3ea54f41b8548ca609975e3f89cfa106ec\"\u003e\u003ccode\u003e7f142d3\u003c/code\u003e\u003c/a\u003e Avoid recording Java symbol lookups in non-incremental builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/b4a33ae1b63d5559df5d1973416e6a29606d1e71\"\u003e\u003ccode\u003eb4a33ae\u003c/code\u003e\u003c/a\u003e Implement custom disk space cleanup script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/26efebecaaf6ad6992b68bad462b73049000459c\"\u003e\u003ccode\u003e26efebe\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/091ef64e188352af689ce82e4165d9e01acfee71\"\u003e\u003ccode\u003e091ef64\u003c/code\u003e\u003c/a\u003e Add agp compatibility tests with built in kotlin project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/57d9c240f055989be7b953813c302bb19eb37c93\"\u003e\u003ccode\u003e57d9c24\u003c/code\u003e\u003c/a\u003e Clean up threadlocals after processing\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.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.lsplugin.cmaker` from 1.2 to 1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/aepranata/KernelSU-Next/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aepranata%2FKernelSU-Next/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"},{"uuid":"3858118141","node_id":"PR_kwDOQVG73c6_eiGZ","number":24,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-03T03:28:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-26T23:30:29.000Z","updated_at":"2026-02-03T03:28:46.000Z","time_to_close":619095,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.2"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.kyant0:backdrop","old_version":"1.0.0","new_version":"1.0.5","repository_url":"https://github.com/Kyant0/AndroidLiquidGlass"},{"name":"org.lsposed.libcxx:libcxx","old_version":"29.0.13599879-beta2","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"top.yukonga.miuix.kmp:miuix-android","old_version":"0.6.1","new_version":"0.7.2","repository_url":"https://github.com/compose-miuix-ui/miuix"},{"name":"dev.chrisbanes.haze:haze-android","old_version":"1.6.10","new_version":"1.7.1","repository_url":"https://github.com/chrisbanes/haze"},{"name":"io.github.kyant0:capsule","old_version":"2.1.1","new_version":"2.1.3","repository_url":"https://github.com/Kyant0/Capsule"},{"name":"com.android.application","old_version":"8.12.2","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.12.2","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.0","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.0` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.2` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.kyant0:backdrop](https://github.com/Kyant0/AndroidLiquidGlass) | `1.0.0` | `1.0.5` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `29.0.13599879-beta2` | `29.0.14206865` |\n| [top.yukonga.miuix.kmp:miuix-android](https://github.com/compose-miuix-ui/miuix) | `0.6.1` | `0.7.2` |\n| [dev.chrisbanes.haze:haze-android](https://github.com/chrisbanes/haze) | `1.6.10` | `1.7.1` |\n| [io.github.kyant0:capsule](https://github.com/Kyant0/Capsule) | `2.1.1` | `2.1.3` |\n| com.android.application | `8.12.2` | `9.0.0` |\n| com.android.library | `8.12.2` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.0` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.2\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.kyant0:backdrop` from 1.0.0 to 1.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/releases\"\u003eio.github.kyant0:backdrop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntegrate with \u003ca href=\"https://github.com/Kyant0/Shapes\"\u003eKyant shapes library\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.4\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix drawing may not update\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.3\u003c/h2\u003e\n\u003ch2\u003eAPI changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eHighlightStyle.Default(intensity, angle, falloff)\u003c/code\u003e, use \u003ccode\u003eHighlightStyle.Default(color, blendMode, angle, falloff)\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Kotlin to 2.3.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compose to 1.10.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix can't draw \u003ccode\u003eLayerBackdrop\u003c/code\u003e in some cases\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/Kyant0/AndroidLiquidGlass/commit/67a6771e9940013a6775f7db4ff2bbdb14aeaf08\"\u003e\u003ccode\u003e67a6771\u003c/code\u003e\u003c/a\u003e Integrate with Kyant shapes library; Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/eda9921bfae299aa0da64c7152f15b27da30c1f9\"\u003e\u003ccode\u003eeda9921\u003c/code\u003e\u003c/a\u003e [catalog] Add a Lock screen demo with SDF texture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/cf0f35d8c597c06ea8bd42ff7a48821678d74669\"\u003e\u003ccode\u003ecf0f35d\u003c/code\u003e\u003c/a\u003e Fix drawing may not update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/feccbad6e5f1d97fb717e919bfaadafec692cc65\"\u003e\u003ccode\u003efeccbad\u003c/code\u003e\u003c/a\u003e Update HighlightStyle.Default constructor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/8fe9c1828b1765349b99ea4221140afabb002454\"\u003e\u003ccode\u003e8fe9c18\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/2c3c46e5ceb196929510ebad72639090cbc74e10\"\u003e\u003ccode\u003e2c3c46e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/eed7fca895bd947ad2af53fc87279613b2e14abc\"\u003e\u003ccode\u003eeed7fca\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/Kyant0/AndroidLiquidGlass/issues/60\"\u003e#60\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/6566813f2998c5a4ec9a74b6ecd5d4fc1a3d406f\"\u003e\u003ccode\u003e6566813\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/46f17666856db797332c6e016bdc92c4610c4e0e\"\u003e\u003ccode\u003e46f1766\u003c/code\u003e\u003c/a\u003e Remove unnecessary onDrawBehind for LiquidBottomTabs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/ed66ae1418b1ef61ee59cb49334b5ca2003d404d\"\u003e\u003ccode\u003eed66ae1\u003c/code\u003e\u003c/a\u003e Gradle 9.2.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/compare/1.0.0...1.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 29.0.13599879-beta2 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/29.0.13599879-beta2...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `top.yukonga.miuix.kmp:miuix-android` from 0.6.1 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/compose-miuix-ui/miuix/releases\"\u003etop.yukonga.miuix.kmp:miuix-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump com.materialkolor:material-kolor from 4.0.4 to 4.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/162\"\u003ecompose-miuix-ui/miuix#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/161\"\u003ecompose-miuix-ui/miuix#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: update error colors to match MIUI's palette by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/163\"\u003ecompose-miuix-ui/miuix#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(overscroll): Make springback effect closer to Xiaomi's native behavior. by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/164\"\u003ecompose-miuix-ui/miuix#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor RangeSlider by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(SuperDialog): Hide keyboard when dialog is dismissed by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/165\"\u003ecompose-miuix-ui/miuix#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(PullToRefresh): Replace animatable with spring physics by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/166\"\u003ecompose-miuix-ui/miuix#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Set \u003ca href=\"https://github.com/NonRestartableComposable\"\u003e\u003ccode\u003e@​NonRestartableComposable\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Refactor MiuixTheme based on androidx-main by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Cleanup MiuixIndication by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Migrate to kotlin.multiplatform.library by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add bottomAction param to BasicComponent by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Improved PredictiveBackHandler of SuperDialog by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): integrate enhanced readability plugin by \u003ca href=\"https://github.com/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/168\"\u003ecompose-miuix-ui/miuix#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: TabRow: Move the height modifier to the bottom by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update docs.yml by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/169\"\u003ecompose-miuix-ui/miuix#169\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/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\"\u003ehttps://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower minSDK to 24\u003c/li\u003e\n\u003cli\u003eAdd Monet color pick support\u003c/li\u003e\n\u003cli\u003eSupport custom keyColor in Monet color\u003c/li\u003e\n\u003cli\u003eRefactor usage of the MiuiTheme\u003c/li\u003e\n\u003cli\u003eMigrate to official BackHandler / PredictiveBackHandler\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExisting Components/APIs Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003elibrary: Migrate t official BackHandler / PredictiveBackHandler, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor MiuixTheme \u0026amp; ColorScheme, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add rightActions to SuperArrow, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc02 to 1.0.0-rc03 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/144\"\u003ecompose-miuix-ui/miuix#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add monet colors support by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/145\"\u003ecompose-miuix-ui/miuix#145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add shadow to color picker indicator and opt Spinner as Dialog by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/146\"\u003ecompose-miuix-ui/miuix#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update progress indicator background color by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/147\"\u003ecompose-miuix-ui/miuix#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update SuperSpinner colors to align with M3 by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/148\"\u003ecompose-miuix-ui/miuix#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Use onPrimary for FAB icon tint by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/150\"\u003ecompose-miuix-ui/miuix#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(ListPopup): Use \u003ccode\u003edropShadow\u003c/code\u003e for elevation by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/151\"\u003ecompose-miuix-ui/miuix#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Update FloatingToolbar color to match FloatingActionButton by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/153\"\u003ecompose-miuix-ui/miuix#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc03 to 1.0.0-rc04 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/154\"\u003ecompose-miuix-ui/miuix#154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: improve wide-screen detection by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/155\"\u003ecompose-miuix-ui/miuix#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(Overscroll): Reuse Animatable and simplify logic by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/156\"\u003ecompose-miuix-ui/miuix#156\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/compose-miuix-ui/miuix/commit/76fd5b20ad309176d1cad1270a661634f712f050\"\u003e\u003ccode\u003e76fd5b2\u003c/code\u003e\u003c/a\u003e ci: Add packages write permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/da8d2cb5e3ddb81f1ef76ed970d7ab0ccf0a39e2\"\u003e\u003ccode\u003eda8d2cb\u003c/code\u003e\u003c/a\u003e ci: update docs.yml (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/f709acfebac2f26570b1913b604a53a6249e0060\"\u003e\u003ccode\u003ef709acf\u003c/code\u003e\u003c/a\u003e library: bump version to 0.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003e\u003ccode\u003ec3a419b\u003c/code\u003e\u003c/a\u003e library: TabRow: Move the height modifier to the bottom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/02259efeb3770c41656968bac43beb09b8e7d4f9\"\u003e\u003ccode\u003e02259ef\u003c/code\u003e\u003c/a\u003e docs: Improve document content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/3f3e41768c415a23d2481e39de182a2a3d4c1430\"\u003e\u003ccode\u003e3f3e417\u003c/code\u003e\u003c/a\u003e docs: Add giscus support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/5b2665d0e189ebd74ae18415be45e5f9d5a29806\"\u003e\u003ccode\u003e5b2665d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/71e0c9d6371958a4cf338518a1b055f1b4fafaa5\"\u003e\u003ccode\u003e71e0c9d\u003c/code\u003e\u003c/a\u003e feat(docs): integrate enhanced readability plugin (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/4007f401968152e0620dff5efe7a4bde4856bdb6\"\u003e\u003ccode\u003e4007f40\u003c/code\u003e\u003c/a\u003e docs: fix errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003e\u003ccode\u003ea1f2cc2\u003c/code\u003e\u003c/a\u003e library: Improved PredictiveBackHandler of SuperDialog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.6.1...v0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.chrisbanes.haze:haze-android` from 1.6.10 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisbanes/haze/releases\"\u003edev.chrisbanes.haze:haze-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate agp to v8.13.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/817\"\u003echrisbanes/haze#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse LruCache rather than SieveCache by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/827\"\u003echrisbanes/haze#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKey dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/752\"\u003echrisbanes/haze#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/764\"\u003echrisbanes/haze#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LeakCanary to sample by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/769\"\u003echrisbanes/haze#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/773\"\u003echrisbanes/haze#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/778\"\u003echrisbanes/haze#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/779\"\u003echrisbanes/haze#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/790\"\u003echrisbanes/haze#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/791\"\u003echrisbanes/haze#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/806\"\u003echrisbanes/haze#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/807\"\u003echrisbanes/haze#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/809\"\u003echrisbanes/haze#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/810\"\u003echrisbanes/haze#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/811\"\u003echrisbanes/haze#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/812\"\u003echrisbanes/haze#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\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/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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/chrisbanes/haze/blob/main/CHANGELOG.md\"\u003edev.chrisbanes.haze:haze-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1 \u003c!-- raw HTML omitted --\u003e2025-11-24\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse LruCache rather than SieveCache in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0 \u003c!-- raw HTML omitted --\u003e2025-11-10\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKey dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/752\"\u003e#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/764\"\u003e#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/773\"\u003e#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/779\"\u003e#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/791\"\u003e#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/806\"\u003e#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/809\"\u003e#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LeakCanary to sample in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/769\"\u003e#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/778\"\u003e#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/790\"\u003e#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/807\"\u003e#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/810\"\u003e#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\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/chrisbanes/haze/commit/abf8629751e1d3028f64efe3e52976641f5618a2\"\u003e\u003ccode\u003eabf8629\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/568c5099cc93b446e5e4cb07514903809eb4b74e\"\u003e\u003ccode\u003e568c509\u003c/code\u003e\u003c/a\u003e Use LruCache rather than SieveCache (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/38c8aadc2d51ba731502e9daf46cdd8231f83fb3\"\u003e\u003ccode\u003e38c8aad\u003c/code\u003e\u003c/a\u003e Prepare for v1 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/3632bb72ec5ecd3cf6da01bad4dc0c470c4c5208\"\u003e\u003ccode\u003e3632bb7\u003c/code\u003e\u003c/a\u003e Update agp to v8.13.1 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/d433974790d1d6a48a130ad15203f1bd6556d6d7\"\u003e\u003ccode\u003ed433974\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/84a8c35148c64fbedc62216b418d17862b7c487d\"\u003e\u003ccode\u003e84a8c35\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/e052ffac6a099b75c57859ab784e27820edbb426\"\u003e\u003ccode\u003ee052ffa\u003c/code\u003e\u003c/a\u003e Update Android version references in platforms.md (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/ee21a75cc5a8cb18ab55d92b058add4d39b0c941\"\u003e\u003ccode\u003eee21a75\u003c/code\u003e\u003c/a\u003e Invalidate on position change (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/5e04e41643825254b404a14aef8d75733ec719d0\"\u003e\u003ccode\u003e5e04e41\u003c/code\u003e\u003c/a\u003e Add a common pre-draw listener (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/99d3fa4c3c5efa855c7d67790594e41d3107232c\"\u003e\u003ccode\u003e99d3fa4\u003c/code\u003e\u003c/a\u003e Update compose.multiplatform to v1.9.3 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.kyant0:capsule` from 2.1.1 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kyant0/Capsule/releases\"\u003eio.github.kyant0:capsule's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.3\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compose to 1.10.0\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/Kyant0/Capsule/commit/2b8754ec7d706383bfdaa6e33610772e2ef4da7d\"\u003e\u003ccode\u003e2b8754e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/503266be3fae7d2f2d8401bedccd3cd1791db382\"\u003e\u003ccode\u003e503266b\u003c/code\u003e\u003c/a\u003e Add a line break\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/08ec120df3520411af4ea13523a79dedb6fdc067\"\u003e\u003ccode\u003e08ec120\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/38062915bbb850584fe6de36427df75cbffaaa89\"\u003e\u003ccode\u003e3806291\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/Capsule/compare/2.1.1...2.1.3\"\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 8.12.2 to 9.0.0\n\nUpdates `com.android.library` from 8.12.2 to 9.0.0\n\nUpdates `com.android.library` from 8.12.2 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-796...\n\n_Description has been truncated_","html_url":"https://github.com/Winkmoon/KernelSU-XinRan/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Winkmoon%2FKernelSU-XinRan/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"3857128464","node_id":"PR_kwDOPTkn6s6_bOmh","number":43,"state":"open","title":"build(deps): bump the maven group across 1 directory with 18 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-01-26T18:27:51.000Z","updated_at":"2026-02-02T23:23:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"8.12.1","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.8","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.02.00","new_version":"2026.01.00"},{"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.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.12.1","new_version":"1.15.0"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.1.0-beta16","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.1.0-beta16","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"27.0.12077973","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.8.2","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.8.2","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.10-1.0.31","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.12.1` | `9.3.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.8.8` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.02.00` | `2026.01.00` |\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.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.webkit:webkit | `1.12.1` | `1.15.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.1` | `1.10.2` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.1.0-beta16` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.1.0-beta16` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `27.0.12077973` | `29.0.14206865` |\n| com.android.application | `8.8.2` | `9.0.0` |\n| com.android.library | `8.8.2` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.10-1.0.31` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `gradle-wrapper` from 8.12.1 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.8 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.02.00 to 2026.01.00\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-viewmodel-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.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.12.1 to 1.15.0\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.10.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\u003c/blockquote\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.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\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/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.10.1...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.1.0-beta16 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issues related to KSP v2\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error messages and docs\u003c/li\u003e\n\u003cli\u003eDependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOptional result back in ON_RESUME / ON_START \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eBy default, compose destinations will call onNavResult in first opportunity between \u0026quot;onResume\u0026quot; and \u0026quot;onStart\u0026quot;. That is because in some situations, I've found that \u0026quot;onResume\u0026quot; is actually not called.\nHowever, that makes it be called mostly in \u0026quot;onStart\u0026quot;, and in some other cases it may not be ideal (see \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSo, we've introduced a new \u003ccode\u003eonNavResult\u003c/code\u003e overload that takes a parameter developers can use to choose when they want to receive the result. Example:\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e\n@Destination\u0026lt;RootGraph\u0026gt;\n@Composable\nfun MyScreen(\n    resultRecipient: ResultRecipient\u0026lt;ConfirmationScreenDestination, Boolean\u0026gt;\n) {\n\u003cpre\u003e\u003ccode\u003eresultRecipient.onNavResult(\n    deliverResultOn = OpenResultRecipient.DeliverResultOn.RESUME\n) { result -\u0026amp;gt;\n    // ...\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eBy default, if you call the overload which does not take any param here, it will use \u003ccode\u003eFIRST_OPPORTUNITY\u003c/code\u003e to not make a breaking change in behaviour here.\u003c/p\u003e\n\u003ch3\u003eNew Destination label (\u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eDestination\u003c/code\u003e annotation now has a new param \u0026quot;label\u0026quot;. This is used to set what official navigation library supports in \u003ccode\u003eNavDestination.label\u003c/code\u003e. Can be useful for monitoring, logging, etc.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e@Destination\u0026lt;RootGraph\u0026gt;(\n    label = \u0026quot;my screen label\u0026quot;\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/98fd7ba0ebc2567aa3f64279cc83b738c627b6f5\"\u003e\u003ccode\u003e98fd7ba\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/13e61b899c6485ef1ab125ffcb50e64d15c386f1\"\u003e\u003ccode\u003e13e61b8\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/dfd2781ac56c45e590f5507d280558364686efc0\"\u003e\u003ccode\u003edfd2781\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/602857d539442526e29421e1a90e4fd0bc4a6644\"\u003e\u003ccode\u003e602857d\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.1.0-beta16...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.1.0-beta16 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issues related to KSP v2\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error messages and docs\u003c/li\u003e\n\u003cli\u003eDependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOptional result back in ON_RESUME / ON_START \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eBy default, compose destinations will call onNavResult in first opportunity between \u0026quot;onResume\u0026quot; and \u0026quot;onStart\u0026quot;. That is because in some situations, I've found that \u0026quot;onResume\u0026quot; is actually not called.\nHowever, that makes it be called mostly in \u0026quot;onStart\u0026quot;, and in some other cases it may not be ideal (see \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSo, we've introduced a new \u003ccode\u003eonNavResult\u003c/code\u003e overload that takes a parameter developers can use to choose when they want to receive the result. Example:\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e\n@Destination\u0026lt;RootGraph\u0026gt;\n@Composable\nfun MyScreen(\n    resultRecipient: ResultRecipient\u0026lt;ConfirmationScreenDestination, Boolean\u0026gt;\n) {\n\u003cpre\u003e\u003ccode\u003eresultRecipient.onNavResult(\n    deliverResultOn = OpenResultRecipient.DeliverResultOn.RESUME\n) { result -\u0026amp;gt;\n    // ...\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eBy default, if you call the overload which does not take any param here, it will use \u003ccode\u003eFIRST_OPPORTUNITY\u003c/code\u003e to not make a breaking change in behaviour here.\u003c/p\u003e\n\u003ch3\u003eNew Destination label (\u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eDestination\u003c/code\u003e annotation now has a new param \u0026quot;label\u0026quot;. This is used to set what official navigation library supports in \u003ccode\u003eNavDestination.label\u003c/code\u003e. Can be useful for monitoring, logging, etc.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e@Destination\u0026lt;RootGraph\u0026gt;(\n    label = \u0026quot;my screen label\u0026quot;\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/98fd7ba0ebc2567aa3f64279cc83b738c627b6f5\"\u003e\u003ccode\u003e98fd7ba\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/13e61b899c6485ef1ab125ffcb50e64d15c386f1\"\u003e\u003ccode\u003e13e61b8\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/dfd2781ac56c45e590f5507d280558364686efc0\"\u003e\u003ccode\u003edfd2781\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/602857d539442526e29421e1a90e4fd0bc4a6644\"\u003e\u003ccode\u003e602857d\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.1.0-beta16...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.1.0-beta16 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issues related to KSP v2\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error messages and docs\u003c/li\u003e\n\u003cli\u003eDependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOptional result back in ON_RESUME / ON_START \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eBy default, compose destinations will call onNavResult in first opportunity between \u0026quot;onResume\u0026quot; and \u0026quot;onStart\u0026quot;. That is because in some situations, I've found that \u0026quot;onResume\u0026quot; is actually not called.\nHowever, that makes it be called mostly in \u0026quot;onStart\u0026quot;, and in some other cases it may not be ideal (see \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSo, we've introduced a new \u003ccode\u003eonNavResult\u003c/code\u003e overload that takes a parameter developers can use to choose when they want to receive the result. Example:\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e\n@Destination\u0026lt;RootGraph\u0026gt;\n@Composable\nfun MyScreen(\n    resultRecipient: ResultRecipient\u0026lt;ConfirmationScreenDestination, Boolean\u0026gt;\n) {\n\u003cpre\u003e\u003ccode\u003eresultRecipient.onNavResult(\n    deliverResultOn = OpenResultRecipient.DeliverResultOn.RESUME\n) { result -\u0026amp;gt;\n    // ...\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eBy default, if you call the overload which does not take any param here, it will use \u003ccode\u003eFIRST_OPPORTUNITY\u003c/code\u003e to not make a breaking change in behaviour here.\u003c/p\u003e\n\u003ch3\u003eNew Destination label (\u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eDestination\u003c/code\u003e annotation now has a new param \u0026quot;label\u0026quot;. This is used to set what official navigation library supports in \u003ccode\u003eNavDestination.label\u003c/code\u003e. Can be useful for monitoring, logging, etc.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e@Destination\u0026lt;RootGraph\u0026gt;(\n    label = \u0026quot;my screen label\u0026quot;\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/98fd7ba0ebc2567aa3f64279cc83b738c627b6f5\"\u003e\u003ccode\u003e98fd7ba\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/13e61b899c6485ef1ab125ffcb50e64d15c386f1\"\u003e\u003ccode\u003e13e61b8\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/dfd2781ac56c45e590f5507d280558364686efc0\"\u003e\u003ccode\u003edfd2781\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/602857d539442526e29421e1a90e4fd0bc4a6644\"\u003e\u003ccode\u003e602857d\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.1.0-beta16...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 27.0.12077973 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/1e95c38b8a44aa777fdff23a361604c8dfdb1bf2\"\u003e\u003ccode\u003e1e95c38\u003c/code\u003e\u003c/a\u003e 28.1.13356709\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/9d672dd836d2ee36557b9724675b183bd7aa4a54\"\u003e\u003ccode\u003e9d672dd\u003c/code\u003e\u003c/a\u003e 27.0.12077973-1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/27.0.12077973...29.0.14206865\"\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 8.8.2 to 9.0.0\n\nUpdates `com.android.library` from 8.8.2 to 9.0.0\n\nUpdates `com.android.library` from 8.8.2 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.0\"\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.1.10-1.0.31 to 2.3.4\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.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 d...\n\n_Description has been truncated_","html_url":"https://github.com/xhgg606/https-github.com-Winkmoon-KernelSU/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xhgg606%2Fhttps-github.com-Winkmoon-KernelSU/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"},{"uuid":"3856279536","node_id":"PR_kwDOKmOZ086_YcVU","number":4,"state":"open","title":"Bump the androidx group with 16 updates","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-01-26T14:46:04.000Z","updated_at":"2026-01-26T14:54:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"androidx","update_count":16,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.17.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"androidx.browser:browser","old_version":"1.8.0","new_version":"1.9.0"},{"name":"androidx.constraintlayout:constraintlayout","old_version":"2.2.0","new_version":"2.2.1"},{"name":"androidx.swiperefreshlayout:swiperefreshlayout","old_version":"1.1.0","new_version":"1.2.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.0","new_version":"1.12.2"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","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.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.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.17.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| androidx.browser:browser | `1.8.0` | `1.9.0` |\n| androidx.constraintlayout:constraintlayout | `2.2.0` | `2.2.1` |\n| androidx.swiperefreshlayout:swiperefreshlayout | `1.1.0` | `1.2.0` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.activity:activity-compose | `1.10.0` | `1.12.2` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.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.0` |\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.17.0\n\nUpdates `androidx.appcompat:appcompat` from 1.7.0 to 1.7.1\n\nUpdates `androidx.recyclerview:recyclerview` from 1.3.2 to 1.4.0\n\nUpdates `androidx.browser:browser` from 1.8.0 to 1.9.0\n\nUpdates `androidx.constraintlayout:constraintlayout` from 2.2.0 to 2.2.1\n\nUpdates `androidx.swiperefreshlayout:swiperefreshlayout` from 1.1.0 to 1.2.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.0 to 1.12.2\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.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.0\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/magisk317/XposedSmsCode/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/magisk317%2FXposedSmsCode/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"3839771249","node_id":"PR_kwDOQ-hrIM6-iAOE","number":2,"state":"closed","title":"Bump the maven group in /manager with 16 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-28T13:17:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-21T19:48:12.000Z","updated_at":"2026-01-28T13:17:14.000Z","time_to_close":581340,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":16,"packages":[{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.5","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.10.01","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"top.yukonga.miuix.kmp:miuix-android","old_version":"0.5.2","new_version":"0.7.2","repository_url":"https://github.com/compose-miuix-ui/miuix"},{"name":"dev.chrisbanes.haze:haze-android","old_version":"1.6.10","new_version":"1.7.1","repository_url":"https://github.com/chrisbanes/haze"},{"name":"com.android.application","old_version":"8.13.0","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.13.0","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.0","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":"/manager","ecosystem":"maven"},"body":"Bumps the maven group in /manager with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.5` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.10.01` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| [top.yukonga.miuix.kmp:miuix-android](https://github.com/compose-miuix-ui/miuix) | `0.5.2` | `0.7.2` |\n| [dev.chrisbanes.haze:haze-android](https://github.com/chrisbanes/haze) | `1.6.10` | `1.7.1` |\n| com.android.application | `8.13.0` | `9.0.0` |\n| com.android.library | `8.13.0` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.0` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.5 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.10.01 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `top.yukonga.miuix.kmp:miuix-android` from 0.5.2 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/compose-miuix-ui/miuix/releases\"\u003etop.yukonga.miuix.kmp:miuix-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump com.materialkolor:material-kolor from 4.0.4 to 4.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/162\"\u003ecompose-miuix-ui/miuix#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/161\"\u003ecompose-miuix-ui/miuix#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: update error colors to match MIUI's palette by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/163\"\u003ecompose-miuix-ui/miuix#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(overscroll): Make springback effect closer to Xiaomi's native behavior. by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/164\"\u003ecompose-miuix-ui/miuix#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor RangeSlider by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(SuperDialog): Hide keyboard when dialog is dismissed by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/165\"\u003ecompose-miuix-ui/miuix#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(PullToRefresh): Replace animatable with spring physics by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/166\"\u003ecompose-miuix-ui/miuix#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Set \u003ca href=\"https://github.com/NonRestartableComposable\"\u003e\u003ccode\u003e@​NonRestartableComposable\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Refactor MiuixTheme based on androidx-main by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Cleanup MiuixIndication by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Migrate to kotlin.multiplatform.library by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add bottomAction param to BasicComponent by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Improved PredictiveBackHandler of SuperDialog by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): integrate enhanced readability plugin by \u003ca href=\"https://github.com/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/168\"\u003ecompose-miuix-ui/miuix#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: TabRow: Move the height modifier to the bottom by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update docs.yml by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/169\"\u003ecompose-miuix-ui/miuix#169\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/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\"\u003ehttps://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower minSDK to 24\u003c/li\u003e\n\u003cli\u003eAdd Monet color pick support\u003c/li\u003e\n\u003cli\u003eSupport custom keyColor in Monet color\u003c/li\u003e\n\u003cli\u003eRefactor usage of the MiuiTheme\u003c/li\u003e\n\u003cli\u003eMigrate to official BackHandler / PredictiveBackHandler\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExisting Components/APIs Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003elibrary: Migrate t official BackHandler / PredictiveBackHandler, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor MiuixTheme \u0026amp; ColorScheme, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add rightActions to SuperArrow, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc02 to 1.0.0-rc03 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/144\"\u003ecompose-miuix-ui/miuix#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add monet colors support by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/145\"\u003ecompose-miuix-ui/miuix#145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add shadow to color picker indicator and opt Spinner as Dialog by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/146\"\u003ecompose-miuix-ui/miuix#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update progress indicator background color by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/147\"\u003ecompose-miuix-ui/miuix#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update SuperSpinner colors to align with M3 by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/148\"\u003ecompose-miuix-ui/miuix#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Use onPrimary for FAB icon tint by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/150\"\u003ecompose-miuix-ui/miuix#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(ListPopup): Use \u003ccode\u003edropShadow\u003c/code\u003e for elevation by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/151\"\u003ecompose-miuix-ui/miuix#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Update FloatingToolbar color to match FloatingActionButton by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/153\"\u003ecompose-miuix-ui/miuix#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc03 to 1.0.0-rc04 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/154\"\u003ecompose-miuix-ui/miuix#154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: improve wide-screen detection by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/155\"\u003ecompose-miuix-ui/miuix#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(Overscroll): Reuse Animatable and simplify logic by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/156\"\u003ecompose-miuix-ui/miuix#156\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/compose-miuix-ui/miuix/commit/76fd5b20ad309176d1cad1270a661634f712f050\"\u003e\u003ccode\u003e76fd5b2\u003c/code\u003e\u003c/a\u003e ci: Add packages write permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/da8d2cb5e3ddb81f1ef76ed970d7ab0ccf0a39e2\"\u003e\u003ccode\u003eda8d2cb\u003c/code\u003e\u003c/a\u003e ci: update docs.yml (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/f709acfebac2f26570b1913b604a53a6249e0060\"\u003e\u003ccode\u003ef709acf\u003c/code\u003e\u003c/a\u003e library: bump version to 0.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003e\u003ccode\u003ec3a419b\u003c/code\u003e\u003c/a\u003e library: TabRow: Move the height modifier to the bottom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/02259efeb3770c41656968bac43beb09b8e7d4f9\"\u003e\u003ccode\u003e02259ef\u003c/code\u003e\u003c/a\u003e docs: Improve document content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/3f3e41768c415a23d2481e39de182a2a3d4c1430\"\u003e\u003ccode\u003e3f3e417\u003c/code\u003e\u003c/a\u003e docs: Add giscus support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/5b2665d0e189ebd74ae18415be45e5f9d5a29806\"\u003e\u003ccode\u003e5b2665d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/71e0c9d6371958a4cf338518a1b055f1b4fafaa5\"\u003e\u003ccode\u003e71e0c9d\u003c/code\u003e\u003c/a\u003e feat(docs): integrate enhanced readability plugin (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/4007f401968152e0620dff5efe7a4bde4856bdb6\"\u003e\u003ccode\u003e4007f40\u003c/code\u003e\u003c/a\u003e docs: fix errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003e\u003ccode\u003ea1f2cc2\u003c/code\u003e\u003c/a\u003e library: Improved PredictiveBackHandler of SuperDialog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.5.2...v0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.chrisbanes.haze:haze-android` from 1.6.10 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisbanes/haze/releases\"\u003edev.chrisbanes.haze:haze-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate agp to v8.13.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/817\"\u003echrisbanes/haze#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse LruCache rather than SieveCache by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/827\"\u003echrisbanes/haze#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKey dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/752\"\u003echrisbanes/haze#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/764\"\u003echrisbanes/haze#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LeakCanary to sample by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/769\"\u003echrisbanes/haze#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/773\"\u003echrisbanes/haze#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/778\"\u003echrisbanes/haze#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/779\"\u003echrisbanes/haze#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/790\"\u003echrisbanes/haze#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/791\"\u003echrisbanes/haze#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/806\"\u003echrisbanes/haze#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/807\"\u003echrisbanes/haze#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/809\"\u003echrisbanes/haze#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/810\"\u003echrisbanes/haze#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/811\"\u003echrisbanes/haze#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/812\"\u003echrisbanes/haze#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\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/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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/chrisbanes/haze/blob/main/CHANGELOG.md\"\u003edev.chrisbanes.haze:haze-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1 \u003c!-- raw HTML omitted --\u003e2025-11-24\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse LruCache rather than SieveCache in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0 \u003c!-- raw HTML omitted --\u003e2025-11-10\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKey dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/752\"\u003e#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/764\"\u003e#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/773\"\u003e#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/779\"\u003e#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/791\"\u003e#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/806\"\u003e#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/809\"\u003e#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LeakCanary to sample in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/769\"\u003e#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/778\"\u003e#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/790\"\u003e#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/807\"\u003e#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/810\"\u003e#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\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/chrisbanes/haze/commit/abf8629751e1d3028f64efe3e52976641f5618a2\"\u003e\u003ccode\u003eabf8629\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/568c5099cc93b446e5e4cb07514903809eb4b74e\"\u003e\u003ccode\u003e568c509\u003c/code\u003e\u003c/a\u003e Use LruCache rather than SieveCache (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/38c8aadc2d51ba731502e9daf46cdd8231f83fb3\"\u003e\u003ccode\u003e38c8aad\u003c/code\u003e\u003c/a\u003e Prepare for v1 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/3632bb72ec5ecd3cf6da01bad4dc0c470c4c5208\"\u003e\u003ccode\u003e3632bb7\u003c/code\u003e\u003c/a\u003e Update agp to v8.13.1 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/d433974790d1d6a48a130ad15203f1bd6556d6d7\"\u003e\u003ccode\u003ed433974\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/84a8c35148c64fbedc62216b418d17862b7c487d\"\u003e\u003ccode\u003e84a8c35\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/e052ffac6a099b75c57859ab784e27820edbb426\"\u003e\u003ccode\u003ee052ffa\u003c/code\u003e\u003c/a\u003e Update Android version references in platforms.md (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/ee21a75cc5a8cb18ab55d92b058add4d39b0c941\"\u003e\u003ccode\u003eee21a75\u003c/code\u003e\u003c/a\u003e Invalidate on position change (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/5e04e41643825254b404a14aef8d75733ec719d0\"\u003e\u003ccode\u003e5e04e41\u003c/code\u003e\u003c/a\u003e Add a common pre-draw listener (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/99d3fa4c3c5efa855c7d67790594e41d3107232c\"\u003e\u003ccode\u003e99d3fa4\u003c/code\u003e\u003c/a\u003e Update compose.multiplatform to v1.9.3 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.1\"\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 8.13.0 to 9.0.0\n\nUpdates `com.android.library` from 8.13.0 to 9.0.0\n\nUpdates `com.android.library` from 8.13.0 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-825...\n\n_Description has been truncated_","html_url":"https://github.com/potatochickfula-arch/ff/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/potatochickfula-arch%2Fff/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"3839583387","node_id":"PR_kwDOPJsUF86-hXj4","number":99,"state":"closed","title":"Bump the maven group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-26T20:31:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-21T18:50:26.000Z","updated_at":"2026-01-26T20:31:42.000Z","time_to_close":438075,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":20,"packages":[{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.0","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.06.00","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","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.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.github.MMRLApp.MMRL:webui","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.github.MMRLApp.MMRL:platform","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.github.MMRLApp.MMRL:ui","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.github.MMRLApp.MMRL:hidden-api","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.android.application","old_version":"8.10.1","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.10.1","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.21-2.0.2","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 20 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.0` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.06.00` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.1` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.github.MMRLApp.MMRL:webui | `2bb00b3c2b` | `v5.30.42` |\n| com.github.MMRLApp.MMRL:platform | `2bb00b3c2b` | `v5.30.42` |\n| com.github.MMRLApp.MMRL:ui | `2bb00b3c2b` | `v5.30.42` |\n| com.github.MMRLApp.MMRL:hidden-api | `2bb00b3c2b` | `v5.30.42` |\n| com.android.application | `8.10.1` | `9.0.0` |\n| com.android.library | `8.10.1` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.21-2.0.2` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.0 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.06.00 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.MMRLApp.MMRL:webui` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:platform` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:ui` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:hidden-api` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:platform` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:ui` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:hidden-api` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.android.application` from 8.10.1 to 9.0.0\n\nUpdates `com.android.library` from 8.10.1 to 9.0.0\n\nUpdates `com.android.library` from 8.10.1 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.21...v2.3.0\"\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.1.21-2.0.2 to 2.3.4\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.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\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This release is a hotfix for a regression introduced in 2.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where KSP incorrectly processed specific nullable annotations from Java interfaces, leading to incorrect nullability in the generated Kotlin code \u003ca href=\"https://redirect.github.com/google/ksp/issues/2696\"\u003e#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a regression introduced in \u003ca href=\"https://redirect.github.com/google/ksp/issues/2656\"\u003e#2656\u003c/a\u003e that caused runtime failures for projects using AGP 8.8.0 and older due to an incompatible, version-specific type check. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2694\"\u003e#2694\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.2\"\u003ehttps://github.com/google/ksp/compare/2.3.1...2.3.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for AGP 9.0 and built-in Kotlin \u003ca href=\"https://redirect.github.com/google/ksp/issues/2674\"\u003e#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug in getJvmCheckedException that incorrectly handled nested classes. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2584\"\u003e#2584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved incorrect caching for KSValueArgumentLiteImpl that wrongly merged arguments with different parents, origins, or locations \u003ca href=\"https://redirect.github.com/google/ksp/issues/2677\"\u003e#2677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\n\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.0...2.3.1\"\u003ehttps://github.com/google/ksp/compare/2.3.0...2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP1 has been deprecated[ \u003ca href=\"https://redirect.github.com/google/ksp/issues/2657\"\u003e#2657\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/ksp/pull/2657\"\u003egoogle/ksp#2657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKSP version is no longer tied to the Kotlin compiler version (moving away from the old \u003c!-- raw HTML omitted --\u003e-\u003c!-- raw HTML omitted --\u003e format). \u003ca href=\"https://redirect.github.com/google/ksp/issues/2658\"\u003e#2658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKSP is no longer a compiler plugin (like KSP1). It now operates as a more standalone tool built on stable compiler APIs (shared with tools like IntelliJ).\u003c/li\u003e\n\u003cli\u003eKSP now has fewer limitations on the Kotlin version in use and allows the KSP team to provide better compatibility to KGP/AGP/Gradle\u003c/li\u003e\n\u003cli\u003eRead more about KSP2: \u003ca href=\"https://github.com/google/ksp/blob/main/docs/ksp2.md\"\u003ehttps://github.com/google/ksp/blob/main/docs/ksp2.md\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/google/ksp/commit/50bed184c9ac0dccb09f605a427ce502842c8ead\"\u003e\u003ccode\u003e50bed18\u003c/code\u003e\u003c/a\u003e [AGP Built in kotlin] Pass kotlin sources from variant api as they are\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e19caf04272d47d260462c39242832f86657a4c2\"\u003e\u003ccode\u003ee19caf0\u003c/code\u003e\u003c/a\u003e Simplify disk space cleanup step condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/570a03b402947910d0eec7550035d58272a83d35\"\u003e\u003ccode\u003e570a03b\u003c/code\u003e\u003c/a\u003e Remove timeout setting from GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/88f7a55f12bf351945696308aff50c2fec7d7d24\"\u003e\u003ccode\u003e88f7a55\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/23cacddd704a1863ad3c80bacf04d78c92144c8a\"\u003e\u003ccode\u003e23cacdd\u003c/code\u003e\u003c/a\u003e Don't register sources to kotlin srcDirs for android compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/7f142d3ea54f41b8548ca609975e3f89cfa106ec\"\u003e\u003ccode\u003e7f142d3\u003c/code\u003e\u003c/a\u003e Avoid recording Java symbol lookups in non-incremental builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/b4a33ae1b63d5559df5d1973416e6a29606d1e71\"\u003e\u003ccode\u003eb4a33ae\u003c/code\u003e\u003c/a\u003e Implement custom disk space cleanup script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/26efebecaaf6ad6992b68bad462b73049000459c\"\u003e\u003ccode\u003e26efebe\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/091ef64e188352af689ce82e4165d9e01acfee71\"\u003e\u003ccode\u003e091ef64\u003c/code\u003e\u003c/a\u003e Add agp compatibility tests with built in kotlin project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/57d9c240f055989be7b953813c302bb19eb37c93\"\u003e\u003ccode\u003e57d9c24\u003c/code\u003e\u003c/a\u003e Clean up threadlocals after processing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.1.21-2.0.2...2.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.lsplugin.cmaker` from 1.2 to 1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/duli95/KernelSU-Next1/pull/99","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/duli95%2FKernelSU-Next1/issues/99","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/99/packages"},{"uuid":"3804054288","node_id":"PR_kwDOQjpZ1c68r76v","number":74,"state":"closed","title":"Bump the androidx group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-21T10:03:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-12T12:10:55.000Z","updated_at":"2026-03-21T10:03:21.000Z","time_to_close":5867544,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"androidx","update_count":20,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.17.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","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.lifecycle:lifecycle-process","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.12.2"},{"name":"androidx.compose:compose-bom","old_version":"2024.12.01","new_version":"2025.12.01"},{"name":"androidx.tv:tv-foundation","old_version":"1.0.0-alpha11","new_version":"1.0.0-alpha12"},{"name":"androidx.tv:tv-material","old_version":"1.0.0","new_version":"1.0.1"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.6"},{"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.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.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"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.17.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-process | `2.8.7` | `2.10.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.12.2` |\n| androidx.compose:compose-bom | `2024.12.01` | `2025.12.01` |\n| androidx.tv:tv-foundation | `1.0.0-alpha11` | `1.0.0-alpha12` |\n| androidx.tv:tv-material | `1.0.0` | `1.0.1` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.6` |\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.0` |\n| androidx.work:work-runtime-ktx | `2.10.0` | `2.11.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\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.17.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.12.2\n\nUpdates `androidx.compose:compose-bom` from 2024.12.01 to 2025.12.01\n\nUpdates `androidx.tv:tv-foundation` from 1.0.0-alpha11 to 1.0.0-alpha12\n\nUpdates `androidx.tv:tv-material` from 1.0.0 to 1.0.1\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.6\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.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.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.10.0 to 2.11.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.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\n\nYou can trigger a rebase of this PR 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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.","html_url":"https://github.com/rommapp/argosy-launcher/pull/74","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rommapp%2Fargosy-launcher/issues/74","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/74/packages"},{"uuid":"3802689330","node_id":"PR_kwDOPq18ds68nYky","number":49,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-26T03:59:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-12T04:05:48.000Z","updated_at":"2026-01-26T03:59:21.000Z","time_to_close":1209212,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":18,"packages":[{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.3","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.08.01","new_version":"2025.12.01"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"top.yukonga.miuix.kmp:miuix","old_version":"0.5.1","new_version":"0.7.2","repository_url":"https://github.com/compose-miuix-ui/miuix"},{"name":"dev.chrisbanes.haze:haze","old_version":"1.6.10","new_version":"1.7.1","repository_url":"https://github.com/chrisbanes/haze"},{"name":"com.android.application","old_version":"8.12.2","new_version":"8.13.2"},{"name":"com.android.library","old_version":"8.12.2","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.2.10-2.0.2","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.3` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.08.01` | `2025.12.01` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.3` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| [top.yukonga.miuix.kmp:miuix](https://github.com/compose-miuix-ui/miuix) | `0.5.1` | `0.7.2` |\n| [dev.chrisbanes.haze:haze](https://github.com/chrisbanes/haze) | `1.6.10` | `1.7.1` |\n| com.android.application | `8.12.2` | `8.13.2` |\n| com.android.library | `8.12.2` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.10-2.0.2` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.3 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.08.01 to 2025.12.01\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `top.yukonga.miuix.kmp:miuix` from 0.5.1 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/compose-miuix-ui/miuix/releases\"\u003etop.yukonga.miuix.kmp:miuix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump com.materialkolor:material-kolor from 4.0.4 to 4.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/162\"\u003ecompose-miuix-ui/miuix#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/161\"\u003ecompose-miuix-ui/miuix#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: update error colors to match MIUI's palette by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/163\"\u003ecompose-miuix-ui/miuix#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(overscroll): Make springback effect closer to Xiaomi's native behavior. by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/164\"\u003ecompose-miuix-ui/miuix#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor RangeSlider by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(SuperDialog): Hide keyboard when dialog is dismissed by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/165\"\u003ecompose-miuix-ui/miuix#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(PullToRefresh): Replace animatable with spring physics by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/166\"\u003ecompose-miuix-ui/miuix#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Set \u003ca href=\"https://github.com/NonRestartableComposable\"\u003e\u003ccode\u003e@​NonRestartableComposable\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Refactor MiuixTheme based on androidx-main by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Cleanup MiuixIndication by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Migrate to kotlin.multiplatform.library by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add bottomAction param to BasicComponent by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Improved PredictiveBackHandler of SuperDialog by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): integrate enhanced readability plugin by \u003ca href=\"https://github.com/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/168\"\u003ecompose-miuix-ui/miuix#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: TabRow: Move the height modifier to the bottom by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update docs.yml by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/169\"\u003ecompose-miuix-ui/miuix#169\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/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\"\u003ehttps://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower minSDK to 24\u003c/li\u003e\n\u003cli\u003eAdd Monet color pick support\u003c/li\u003e\n\u003cli\u003eSupport custom keyColor in Monet color\u003c/li\u003e\n\u003cli\u003eRefactor usage of the MiuiTheme\u003c/li\u003e\n\u003cli\u003eMigrate to official BackHandler / PredictiveBackHandler\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExisting Components/APIs Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003elibrary: Migrate t official BackHandler / PredictiveBackHandler, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor MiuixTheme \u0026amp; ColorScheme, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add rightActions to SuperArrow, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc02 to 1.0.0-rc03 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/144\"\u003ecompose-miuix-ui/miuix#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add monet colors support by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/145\"\u003ecompose-miuix-ui/miuix#145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add shadow to color picker indicator and opt Spinner as Dialog by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/146\"\u003ecompose-miuix-ui/miuix#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update progress indicator background color by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/147\"\u003ecompose-miuix-ui/miuix#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update SuperSpinner colors to align with M3 by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/148\"\u003ecompose-miuix-ui/miuix#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Use onPrimary for FAB icon tint by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/150\"\u003ecompose-miuix-ui/miuix#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(ListPopup): Use \u003ccode\u003edropShadow\u003c/code\u003e for elevation by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/151\"\u003ecompose-miuix-ui/miuix#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Update FloatingToolbar color to match FloatingActionButton by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/153\"\u003ecompose-miuix-ui/miuix#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc03 to 1.0.0-rc04 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/154\"\u003ecompose-miuix-ui/miuix#154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: improve wide-screen detection by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/155\"\u003ecompose-miuix-ui/miuix#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(Overscroll): Reuse Animatable and simplify logic by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/156\"\u003ecompose-miuix-ui/miuix#156\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/compose-miuix-ui/miuix/commit/76fd5b20ad309176d1cad1270a661634f712f050\"\u003e\u003ccode\u003e76fd5b2\u003c/code\u003e\u003c/a\u003e ci: Add packages write permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/da8d2cb5e3ddb81f1ef76ed970d7ab0ccf0a39e2\"\u003e\u003ccode\u003eda8d2cb\u003c/code\u003e\u003c/a\u003e ci: update docs.yml (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/f709acfebac2f26570b1913b604a53a6249e0060\"\u003e\u003ccode\u003ef709acf\u003c/code\u003e\u003c/a\u003e library: bump version to 0.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003e\u003ccode\u003ec3a419b\u003c/code\u003e\u003c/a\u003e library: TabRow: Move the height modifier to the bottom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/02259efeb3770c41656968bac43beb09b8e7d4f9\"\u003e\u003ccode\u003e02259ef\u003c/code\u003e\u003c/a\u003e docs: Improve document content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/3f3e41768c415a23d2481e39de182a2a3d4c1430\"\u003e\u003ccode\u003e3f3e417\u003c/code\u003e\u003c/a\u003e docs: Add giscus support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/5b2665d0e189ebd74ae18415be45e5f9d5a29806\"\u003e\u003ccode\u003e5b2665d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/71e0c9d6371958a4cf338518a1b055f1b4fafaa5\"\u003e\u003ccode\u003e71e0c9d\u003c/code\u003e\u003c/a\u003e feat(docs): integrate enhanced readability plugin (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/4007f401968152e0620dff5efe7a4bde4856bdb6\"\u003e\u003ccode\u003e4007f40\u003c/code\u003e\u003c/a\u003e docs: fix errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003e\u003ccode\u003ea1f2cc2\u003c/code\u003e\u003c/a\u003e library: Improved PredictiveBackHandler of SuperDialog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.5.1...v0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.chrisbanes.haze:haze` from 1.6.10 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisbanes/haze/releases\"\u003edev.chrisbanes.haze:haze's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate agp to v8.13.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/817\"\u003echrisbanes/haze#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse LruCache rather than SieveCache by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/827\"\u003echrisbanes/haze#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKey dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/752\"\u003echrisbanes/haze#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/764\"\u003echrisbanes/haze#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LeakCanary to sample by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/769\"\u003echrisbanes/haze#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/773\"\u003echrisbanes/haze#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/778\"\u003echrisbanes/haze#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/779\"\u003echrisbanes/haze#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/790\"\u003echrisbanes/haze#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/791\"\u003echrisbanes/haze#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/806\"\u003echrisbanes/haze#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/807\"\u003echrisbanes/haze#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/809\"\u003echrisbanes/haze#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/810\"\u003echrisbanes/haze#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/811\"\u003echrisbanes/haze#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/812\"\u003echrisbanes/haze#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\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/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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/chrisbanes/haze/blob/main/CHANGELOG.md\"\u003edev.chrisbanes.haze:haze's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1 \u003c!-- raw HTML omitted --\u003e2025-11-24\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse LruCache rather than SieveCache in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0 \u003c!-- raw HTML omitted --\u003e2025-11-10\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKey dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/752\"\u003e#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/764\"\u003e#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/773\"\u003e#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/779\"\u003e#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/791\"\u003e#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/806\"\u003e#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/809\"\u003e#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LeakCanary to sample in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/769\"\u003e#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/778\"\u003e#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/790\"\u003e#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/807\"\u003e#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/810\"\u003e#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\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/chrisbanes/haze/commit/abf8629751e1d3028f64efe3e52976641f5618a2\"\u003e\u003ccode\u003eabf8629\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/568c5099cc93b446e5e4cb07514903809eb4b74e\"\u003e\u003ccode\u003e568c509\u003c/code\u003e\u003c/a\u003e Use LruCache rather than SieveCache (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/38c8aadc2d51ba731502e9daf46cdd8231f83fb3\"\u003e\u003ccode\u003e38c8aad\u003c/code\u003e\u003c/a\u003e Prepare for v1 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/3632bb72ec5ecd3cf6da01bad4dc0c470c4c5208\"\u003e\u003ccode\u003e3632bb7\u003c/code\u003e\u003c/a\u003e Update agp to v8.13.1 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/d433974790d1d6a48a130ad15203f1bd6556d6d7\"\u003e\u003ccode\u003ed433974\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/84a8c35148c64fbedc62216b418d17862b7c487d\"\u003e\u003ccode\u003e84a8c35\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/e052ffac6a099b75c57859ab784e27820edbb426\"\u003e\u003ccode\u003ee052ffa\u003c/code\u003e\u003c/a\u003e Update Android version references in platforms.md (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/ee21a75cc5a8cb18ab55d92b058add4d39b0c941\"\u003e\u003ccode\u003eee21a75\u003c/code\u003e\u003c/a\u003e Invalidate on position change (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/5e04e41643825254b404a14aef8d75733ec719d0\"\u003e\u003ccode\u003e5e04e41\u003c/code\u003e\u003c/a\u003e Add a common pre-draw listener (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/99d3fa4c3c5efa855c7d67790594e41d3107232c\"\u003e\u003ccode\u003e99d3fa4\u003c/code\u003e\u003c/a\u003e Update compose.multiplatform to v1.9.3 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.1\"\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 8.12.2 to 8.13.2\n\nUpdates `com.android.library` from 8.12.2 to 8.13.2\n\nUpdates `com.android.library` from 8.12.2 to 8.13.2\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccod...\n\n_Description has been truncated_","html_url":"https://github.com/RarogCmex/xiaomi-kenzo-kernel-shadowsong-kernelsu/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RarogCmex%2Fxiaomi-kenzo-kernel-shadowsong-kernelsu/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}],"issue_packages":[{"old_version":"2.9.3","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-06-09T06:34:18.000Z","version_change":"2.9.3 → 2.10.0","issue":{"uuid":"4619494305","node_id":"PR_kwDORxgKoc7kPsqr","number":705,"state":"open","title":"build(deps): bump the android-gradle-patch-minor group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["automation","maintenance","dependencies"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-09T06:34:18.000Z","updated_at":"2026-06-10T18:51:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-gradle-patch-minor","update_count":30,"packages":[{"name":"gradle-wrapper","old_version":"8.11.1","new_version":"8.14.5","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.19.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.9","new_version":"2.9.8"},{"name":"com.google.firebase:firebase-bom","old_version":"34.13.0","new_version":"34.14.1"},{"name":"org.mockito:mockito-core","old_version":"5.14.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"com.google.dagger:hilt-android","old_version":"2.56.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:hilt-compiler","old_version":"2.56.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger.hilt.android","old_version":"2.56.1","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-process","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.13.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.01.01","new_version":"2025.12.01"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.6.1","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.8.1","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"androidx.room:room-runtime","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.room","old_version":"2.7.1","new_version":"2.8.4"},{"name":"com.google.android.gms:play-services-ads","old_version":"23.0.0","new_version":"23.6.0"},{"name":"com.airbnb.android:lottie-compose","old_version":"6.6.3","new_version":"6.7.1","repository_url":"https://github.com/airbnb/lottie-android"},{"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.android.application","old_version":"8.10.1","new_version":"8.13.2"},{"name":"com.android.library","old_version":"8.10.1","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.1.10","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.10-1.0.31","new_version":"2.3.9","repository_url":"https://github.com/google/ksp"},{"name":"com.google.firebase.crashlytics","old_version":"3.0.6","new_version":"3.0.7"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-gradle-patch-minor group with 30 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.11.1` | `8.14.5` |\n| androidx.core:core-ktx | `1.15.0` | `1.19.0` |\n| androidx.navigation:navigation-compose | `2.8.9` | `2.9.8` |\n| com.google.firebase:firebase-bom | `34.13.0` | `34.14.1` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.14.2` | `5.23.0` |\n| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.56.1` | `2.59.2` |\n| [com.google.dagger:hilt-compiler](https://github.com/google/dagger) | `2.56.1` | `2.59.2` |\n| [com.google.dagger.hilt.android](https://github.com/google/dagger) | `2.56.1` | `2.59.2` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-process | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.3` | `2.10.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.13.0` |\n| androidx.compose:compose-bom | `2025.01.01` | `2025.12.01` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.6.1` | `0.8.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.8.1` | `1.11.0` |\n| androidx.room:room-runtime | `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.room | `2.7.1` | `2.8.4` |\n| com.google.android.gms:play-services-ads | `23.0.0` | `23.6.0` |\n| [com.airbnb.android:lottie-compose](https://github.com/airbnb/lottie-android) | `6.6.3` | `6.7.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.14.0` |\n| com.android.application | `8.10.1` | `8.13.2` |\n| com.android.library | `8.10.1` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.4.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.10-1.0.31` | `2.3.9` |\n| com.google.firebase.crashlytics | `3.0.6` | `3.0.7` |\n\n\nUpdates `gradle-wrapper` from 8.11.1 to 8.14.5\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\u003e8.14.5\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 8.14.5.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 24 support\u003c/li\u003e\n\u003cli\u003eGraalVM Native Image toolchain selection\u003c/li\u003e\n\u003cli\u003eEnhancements to test reporting\u003c/li\u003e\n\u003cli\u003eBuild Authoring improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/8.14.5/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/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/benjamin-bader\"\u003eBen Bader\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/chandre92\"\u003echandre92\u003c/a\u003e,\n\u003ca href=\"https://github.com/dlehammer\"\u003eDaniel Hammer\u003c/a\u003e,\n\u003ca href=\"https://github.com/danishnawab\"\u003eDanish Nawab\u003c/a\u003e,\n\u003ca href=\"https://github.com/DreierF\"\u003eFlorian Dreier\u003c/a\u003e,\n\u003ca href=\"https://github.com/Mengmeiivy\"\u003eIvy Chen\u003c/a\u003e,\n\u003ca href=\"https://github.com/jjohannes\"\u003eJendrik Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/jimmy1995-gu\"\u003ejimmy1995-gu\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/NaMinhyeok\"\u003eNa Minhyeok\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 8.14.5 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=8.14.5 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/8.14.5/userguide/upgrading_version_8.html\"\u003e8.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/8.14.5/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\u003e8.14.4\u003c/h2\u003e\n\u003cp\u003eThis is a patch release for 8.14. We recommend using 8.14.4 instead of 8.14.\u003c/p\u003e\n\u003cp\u003eThis release addresses two security vulnerabilities:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-mqwm-5m85-gmcv\"\u003eFailure to disable repositories failing to answer can expose builds to malicious artifacts\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-w78c-w6vf-rw82\"\u003eFailure to disable repositories with unknown host can expose builds to malicious artifacts\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/gradle/gradle/commit/62345becae08b13e793521816d585102fea66398\"\u003e\u003ccode\u003e62345be\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37829\"\u003e#37829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/38049c286691bf85cee542f8b2f8dc1cc54dd25d\"\u003e\u003ccode\u003e38049c2\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f3781397d4ad84fcc034f239efe7dc350f564741\"\u003e\u003ccode\u003ef378139\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37780\"\u003e#37780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4e739b5959a5b0f1c5962cd387143c91b27343d3\"\u003e\u003ccode\u003e4e739b5\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d94136aadaa292280b860e5032e7dddc6e116112\"\u003e\u003ccode\u003ed94136a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37704\"\u003e#37704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/a2f6942e453c80634fca32ba0e11a9ce8b7baf48\"\u003e\u003ccode\u003ea2f6942\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/28df2639ea8752218176288ef6a9e678c779f73b\"\u003e\u003ccode\u003e28df263\u003c/code\u003e\u003c/a\u003e Backport exclude bugfix (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37559\"\u003e#37559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e03dca12e7b77f5f6ec00f7d81eb8734f7596d52\"\u003e\u003ccode\u003ee03dca1\u003c/code\u003e\u003c/a\u003e Upgrade BouncyCastle to 1.84 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37656\"\u003e#37656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/987d1a32e4f3d97b14413e9ee2742df820ec6beb\"\u003e\u003ccode\u003e987d1a3\u003c/code\u003e\u003c/a\u003e Bump the Jackson version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/56e392c0f0b9f16bcba1c03f7bd0bae08a82556a\"\u003e\u003ccode\u003e56e392c\u003c/code\u003e\u003c/a\u003e Bump Bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.11.1...v8.14.5\"\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.15.0 to 1.19.0\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.9 to 2.9.8\n\nUpdates `com.google.firebase:firebase-bom` from 34.13.0 to 34.14.1\n\nUpdates `org.mockito:mockito-core` from 5.14.2 to 5.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockito/mockito/releases\"\u003eorg.mockito:mockito-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.23.0\u003c/h2\u003e\n\u003ch2\u003eNOTE: Breaking change for Android\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003emockito-android\u003c/code\u003e artifact has a breaking change: tests now require a device or emulator based on API 28+ (Android P). This is to enable new support for mocking Kotlin classes. See \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3788\"\u003e#3788\u003c/a\u003e for more details.\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.23.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2026-03-11 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.22.0...v5.23.0\"\u003e6 commit(s)\u003c/a\u003e by Brice Dutheil, Joshua Selbo, Philippe Kernevez\u003c/li\u003e\n\u003cli\u003eReplace mockito-android mock maker implementation with dexmaker-mockito-inline [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3792\"\u003e#3792\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3792\"\u003emockito/mockito#3792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix StackOverflowError with AbstractList after using mockSingleton [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3790\"\u003e#3790\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3790\"\u003emockito/mockito#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMark parameters of \u003ccode\u003eMockito.when\u003c/code\u003e \u003ccode\u003e@Nullable\u003c/code\u003e [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3503\"\u003e#3503\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3503\"\u003emockito/mockito#3503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.22.0\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.22.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2026-02-27 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.21.0...v5.22.0\"\u003e6 commit(s)\u003c/a\u003e by Joshua Selbo, NiMv1, Rafael Winterhalter, dependabot[bot], eunbin son\u003c/li\u003e\n\u003cli\u003eAvoid mocking of internal static utilities [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3785\"\u003e#3785\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3785\"\u003emockito/mockito#3785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.4 to 1.4.5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3780\"\u003e#3780\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3780\"\u003emockito/mockito#3780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStatic mocking of UUID.class corrupted under JDK 25 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3778\"\u003e#3778\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3778\"\u003emockito/mockito#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 5 to 6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3774\"\u003e#3774\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3774\"\u003emockito/mockito#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: clarify RETURNS_MOCKS behavior with sealed abstract enums (Java 15+) [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3773\"\u003e#3773\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3773\"\u003emockito/mockito#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd tests for Sets utility class [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3771\"\u003e#3771\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3771\"\u003emockito/mockito#3771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd core API to enable Kotlin singleton mocking [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3762\"\u003e#3762\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3762\"\u003emockito/mockito#3762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStubbing Kotlin \u003ccode\u003eobject\u003c/code\u003e singletons [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3652\"\u003e#3652\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3652\"\u003emockito/mockito#3652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncorrect documentation for RETURNS_MOCKS [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3285\"\u003e#3285\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3285\"\u003emockito/mockito#3285\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.21.0\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.21.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2025-12-09 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.20.0...v5.21.0\"\u003e17 commit(s)\u003c/a\u003e by Giulio Longfils, Joshua Selbo, Woongi9, Zylox, dependabot[bot]\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.3 to 1.4.4 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3768\"\u003e#3768\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3768\"\u003emockito/mockito#3768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.2 to 1.4.3 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3767\"\u003e#3767\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3767\"\u003emockito/mockito#3767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3765\"\u003e#3765\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3765\"\u003emockito/mockito#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds output of matchers to potential mismatch; Fixes \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2468\"\u003e#2468\u003c/a\u003e [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3760\"\u003e#3760\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3760\"\u003emockito/mockito#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eForbid mocking WeakReference with inline mock maker [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3759\"\u003e#3759\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3759\"\u003emockito/mockito#3759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStackOverflowError when mocking WeakReference [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3758\"\u003e#3758\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3758\"\u003emockito/mockito#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3756\"\u003e#3756\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3756\"\u003emockito/mockito#3756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.1 to 1.4.2 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3755\"\u003e#3755\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3755\"\u003emockito/mockito#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport primitives in GenericArrayReturnType. [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3753\"\u003e#3753\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3753\"\u003emockito/mockito#3753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClassNotFoundException when stubbing array of primitive type on Android [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3752\"\u003e#3752\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3752\"\u003emockito/mockito#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.4.0 to 1.4.1 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3744\"\u003e#3744\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3744\"\u003emockito/mockito#3744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump gradle/actions from 4 to 5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3743\"\u003e#3743\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3743\"\u003emockito/mockito#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump org.graalvm.buildtools.native from 0.11.0 to 0.11.1 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3738\"\u003e#3738\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3738\"\u003emockito/mockito#3738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump com.diffplug.spotless:spotless-plugin-gradle from 7.2.1 to 8.0.0 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3735\"\u003e#3735\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3735\"\u003emockito/mockito#3735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.3.7 to 1.4.0 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3734\"\u003e#3734\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3734\"\u003emockito/mockito#3734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3733\"\u003e#3733\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3733\"\u003emockito/mockito#3733\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/mockito/mockito/commit/a231205b240e7884a63bf0f63440012867a4da21\"\u003e\u003ccode\u003ea231205\u003c/code\u003e\u003c/a\u003e Fix StackOverflowError with AbstractList after using mockSingleton (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/f6a91a6a6138c776fa8b41ffb3fd078c64802044\"\u003e\u003ccode\u003ef6a91a6\u003c/code\u003e\u003c/a\u003e Replace mockito-android mock maker implementation with dexmaker-mockito-inlin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/aa2298a627ab2c0bce07f648e444477d8e2e05ba\"\u003e\u003ccode\u003eaa2298a\u003c/code\u003e\u003c/a\u003e fix: make spotless happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/a6729d657e232ca64da81d9801d7b8f3be6fc49a\"\u003e\u003ccode\u003ea6729d6\u003c/code\u003e\u003c/a\u003e chore: update BDDMockito with jspecify annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/bb83c922484cfd3693d61549b5d6ef39a9c02c2b\"\u003e\u003ccode\u003ebb83c92\u003c/code\u003e\u003c/a\u003e chore: move jspecify as a compile only dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/47a46954cd1c0f8ef64ec63d43da9b71081d74e6\"\u003e\u003ccode\u003e47a4695\u003c/code\u003e\u003c/a\u003e chore: add jspecify with minimal change. Fixes \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3503\"\u003e#3503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/25f13951d35ca391ee50207e6c564f3e869f3d91\"\u003e\u003ccode\u003e25f1395\u003c/code\u003e\u003c/a\u003e Add core API to enable Kotlin singleton mocking (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3762\"\u003e#3762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/ef9ee5529853d96028b520f84a41ffd41afc9a1d\"\u003e\u003ccode\u003eef9ee55\u003c/code\u003e\u003c/a\u003e Avoids mocking private static methods, as well as package-private static meth...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/d16fcfc274d7ca03a2b4bdc22dd7c3ec6dac8690\"\u003e\u003ccode\u003ed16fcfc\u003c/code\u003e\u003c/a\u003e Bump graalvm/setup-graalvm from 1.4.4 to 1.4.5 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3780\"\u003e#3780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/27eb8a3acdd9c9eb3ff788a71b22777026874439\"\u003e\u003ccode\u003e27eb8a3\u003c/code\u003e\u003c/a\u003e Clarify \u003ccode\u003eRETURNS_MOCKS\u003c/code\u003e behavior with sealed abstract enums (Java 15+) (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockito/mockito/compare/v5.14.2...v5.23.0\"\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.56.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.56.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-compiler` from 2.56.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-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.56.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.56.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.56.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-compiler` from 2.56.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-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.56.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.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.13.0\n\nUpdates `androidx.compose:compose-bom` from 2025.01.01 to 2025.12.01\n\nUpdates `org.jetbrains.kotlinx:kotlinx-datetime` from 0.6.1 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e type aliases to, respectively, \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e and \u003ccode\u003ekotlin.time.Clock\u003c/code\u003e to make migration more convenient.\u003c/li\u003e\n\u003cli\u003eAdd a fallback timezone database implementation for Darwin that uses the Foundation framework if the timezone database is unavailable on the filesystem (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/485\"\u003e#485\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRestore binary compatibility in string format definitions utilizing dates on the JVM (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/545\"\u003e#545\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-datetime/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.1\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-datetime/commit/591ce9bd83df08322105e10d51f90b2baa5355cd\"\u003e\u003ccode\u003e591ce9b\u003c/code\u003e\u003c/a\u003e Merge branch 'dkhalanskyjb/remove-deprecated-instant' into version-0.8.0-normal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a2eb07444986b897f062b39510a22b838bc2394f\"\u003e\u003ccode\u003ea2eb074\u003c/code\u003e\u003c/a\u003e Version 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/f487af449b536bd130a8d1eb9fd4dcbb80c5a59e\"\u003e\u003ccode\u003ef487af4\u003c/code\u003e\u003c/a\u003e Describe the release procedures (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/edc1183a08ac54d60504b2288ab0a9f31698fce1\"\u003e\u003ccode\u003eedc1183\u003c/code\u003e\u003c/a\u003e Add contribution guidelines (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4b485b7b6aac3539893b0238c8e81c2d5ff0402d\"\u003e\u003ccode\u003e4b485b7\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c2854bd91aa2f2d43ece1e1884c06c75f6020f27\"\u003e\u003ccode\u003ec2854bd\u003c/code\u003e\u003c/a\u003e Updated kotlinx.team.infra plugin and regenerated publication pipeline (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/ef03b193e6d1d3b50b51ca0f12a22e85dbd05b5d\"\u003e\u003ccode\u003eef03b19\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a1ac46e06b9d3310d3b31a025eb6a62297f317ff\"\u003e\u003ccode\u003ea1ac46e\u003c/code\u003e\u003c/a\u003e Use IANA tzdb 2026b (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c006a0f07dc129d8afa3760f3f4c01c6bd2d2296\"\u003e\u003ccode\u003ec006a0f\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4ae47efa9f1860bd772322bd0b0e3bfb7ad38ec8\"\u003e\u003ccode\u003e4ae47ef\u003c/code\u003e\u003c/a\u003e Small improvements to various docs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/compare/v0.6.1...v0.8.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-serialization-json` from 1.8.1 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.jetbrain...\n\n_Description has been truncated_","html_url":"https://github.com/parkuiery/Stopit-Android/pull/705","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/parkuiery%2FStopit-Android/issues/705","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/705/packages"}},{"old_version":"2.9.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-06-07T01:27:03.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"4605737109","node_id":"PR_kwDOSK-X1M7ji9HD","number":9,"state":"open","title":"build: bump the gradle group with 12 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-07T01:27:03.000Z","updated_at":"2026-06-07T01:27:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"gradle","update_count":12,"packages":[{"name":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.01"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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-ktx","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 gradle group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.2.0` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.01` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.14.1` | `4.16.1` |\n| androidx.test:core-ktx | `1.6.1` | `1.7.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n\nUpdates `com.android.application` from 9.2.0 to 9.2.1\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `com.google.android.material:material` from 1.13.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.13.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-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 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.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.01\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 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.10.2...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.robolectric:robolectric` from 4.14.1 to 4.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/robolectric/robolectric/releases\"\u003eorg.robolectric:robolectric's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eRobolectric 4.16.1 is a minor release that fixes some issues when Robolectric is used for Android Platform development. Most notably, it is updated to support the deletion of \u003ca href=\"https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager\"\u003eFingerprintManager\u003c/a\u003e in the Android Framework, as well as some improvements to the \u003ccode\u003eVirtualDeviceManager\u003c/code\u003e shadow.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/robolectric/robolectric/compare/robolectric-4.16...robolectric-4.16.1\"\u003ehttps://github.com/robolectric/robolectric/compare/robolectric-4.16...robolectric-4.16.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eRobolectric 4.16 supports Android Baklava (SDK 36), and you need to use JDK 21 if running tests with SDK 36 target. It also removes support for Android L (SDK 21 and 22).\u003c/p\u003e\n\u003cp\u003eOne exciting new feature is native resources (ResourcesMode.NATIVE). Note this is currently only available in SDK 36.\u003c/p\u003e\n\u003cp\u003eIf you have any issues, please file them \u003ca href=\"https://github.com/robolectric/robolectric/issues\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReuse \u003ccode\u003eShadowUIModeManager\u003c/code\u003e in \u003ccode\u003eShadowUIModeManagerTest\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10368\"\u003erobolectric/robolectric#10368\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate AndroidX by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10373\"\u003erobolectric/robolectric#10373\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependency gradle to v8.14.2 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10372\"\u003erobolectric/robolectric#10372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependency com.googlecode.libphonenumber:libphonenumber to v9.0.7 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10371\"\u003erobolectric/robolectric#10371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependency org.bouncycastle:bcprov-jdk18on to v1.81 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10374\"\u003erobolectric/robolectric#10374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ApplicationInfo inconsistencies in Robolectric. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10375\"\u003erobolectric/robolectric#10375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd shadow for new resolveActivityAsUser variant. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10377\"\u003erobolectric/robolectric#10377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust to indevelopment SDK changes. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10379\"\u003erobolectric/robolectric#10379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding support to the Simulator for picking up the device configuration from a Configurer. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10381\"\u003erobolectric/robolectric#10381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up SDK ranges for shadow methods in Baklava. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10380\"\u003erobolectric/robolectric#10380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a shadow for Equalizer in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10384\"\u003erobolectric/robolectric#10384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example to be consistent with robolectric.org by \u003ca href=\"https://github.com/seadowg\"\u003e\u003ccode\u003e@​seadowg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/7475\"\u003erobolectric/robolectric#7475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003esimulator-gradle-plugin\u003c/code\u003e to depends on AGP \u003ccode\u003egradle-api\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10386\"\u003erobolectric/robolectric#10386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace custom \u003ccode\u003egetOrDefault()\u003c/code\u003e with the corresponding Java method by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10370\"\u003erobolectric/robolectric#10370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Javadoc for \u003ccode\u003eShadowPausedLooper\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10387\"\u003erobolectric/robolectric#10387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix condition in \u003ccode\u003eResourceHelper#parseFloatAttribute()\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10369\"\u003erobolectric/robolectric#10369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate listener in \u003ccode\u003eShadowAccountManager#addOnAccountsUpdatedListener()\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10361\"\u003erobolectric/robolectric#10361\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for UiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM) in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10390\"\u003erobolectric/robolectric#10390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazily register the simulator plugin by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10391\"\u003erobolectric/robolectric#10391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable stricter plugin validation by \u003ca href=\"https://github.com/hoisie\"\u003e\u003ccode\u003e@​hoisie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10388\"\u003erobolectric/robolectric#10388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the VirtualDeviceManager#getVirtualDevice(int deviceId) to the ShadowVirtualDeviceManager. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10395\"\u003erobolectric/robolectric#10395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix various small warnings by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10394\"\u003erobolectric/robolectric#10394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd shadow implement of AccessibilityService#getRootInActiveWindow in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10397\"\u003erobolectric/robolectric#10397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd more information to the generated POM file by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10392\"\u003erobolectric/robolectric#10392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange ShadowChoreographer.getDefaultFrameDelay into a shadow method. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10404\"\u003erobolectric/robolectric#10404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore removed methods from \u003ccode\u003eConfig\u003c/code\u003e by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10406\"\u003erobolectric/robolectric#10406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd shadow override for Network SocketFactory. in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10409\"\u003erobolectric/robolectric#10409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing deprecations to some \u003ccode\u003eConfig.Builder\u003c/code\u003e methods by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10408\"\u003erobolectric/robolectric#10408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003etestDebugUnitTest\u003c/code\u003e from the dependencies of the \u003ccode\u003esimulator\u003c/code\u003e task by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10413\"\u003erobolectric/robolectric#10413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge branch 'google' into 'master' by \u003ca href=\"https://github.com/hoisie\"\u003e\u003ccode\u003e@​hoisie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10414\"\u003erobolectric/robolectric#10414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the snapshot version to 4.16 by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10415\"\u003erobolectric/robolectric#10415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ability to specify is80211azNtbMeasurement to ShadowRangingResult in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10410\"\u003erobolectric/robolectric#10410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded implementation for Path.op by \u003ca href=\"https://github.com/GisoBartels\"\u003e\u003ccode\u003e@​GisoBartels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10288\"\u003erobolectric/robolectric#10288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix massive code warnings of ShadowVirtualDeviceManagerTest by \u003ca href=\"https://github.com/utzcoz\"\u003e\u003ccode\u003e@​utzcoz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10399\"\u003erobolectric/robolectric#10399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove redundant String concatenation by \u003ca href=\"https://github.com/MGaetan89\"\u003e\u003ccode\u003e@​MGaetan89\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10417\"\u003erobolectric/robolectric#10417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate deprecated APIs to idleMainLooper for ShadowVirtualDeviceManagerTest by \u003ca href=\"https://github.com/utzcoz\"\u003e\u003ccode\u003e@​utzcoz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10418\"\u003erobolectric/robolectric#10418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace Stream#toList to Stream#collect(Collectors.toList()) by \u003ca href=\"https://github.com/utzcoz\"\u003e\u003ccode\u003e@​utzcoz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10420\"\u003erobolectric/robolectric#10420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Java 11 in the simulator gradle plugin by \u003ca href=\"https://github.com/hoisie\"\u003e\u003ccode\u003e@​hoisie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10421\"\u003erobolectric/robolectric#10421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate AndroidX by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/robolectric/robolectric/pull/10422\"\u003erobolectric/robolectric#10422\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/robolectric/robolectric/commit/524ea8e634ad51b39356a41fbb4a3474034dd250\"\u003e\u003ccode\u003e524ea8e\u003c/code\u003e\u003c/a\u003e Bump version to 4.16.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robolectric/robolectric/commit/54fd1eeaf0ce87ac3280a7156a666dcddffe874f\"\u003e\u003ccode\u003e54fd1ee\u003c/code\u003e\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/partymola/android-bike-radar-overlay/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/partymola%2Fandroid-bike-radar-overlay/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"2.8.7","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-05-31T01:06:09.000Z","version_change":"2.8.7 → 2.10.0","issue":{"uuid":"4556193355","node_id":"PR_kwDOSsoXFc7hBp0I","number":6,"state":"closed","title":"chore(deps): bump the androidx group with 22 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-31T01:13:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T01:06:09.000Z","updated_at":"2026-05-31T01:13:04.000Z","time_to_close":413,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"androidx","update_count":22,"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-viewmodel-compose","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.compose:compose-bom","old_version":"2024.12.01","new_version":"2026.05.01"},{"name":"androidx.tv:tv-material","old_version":"1.0.0","new_version":"1.1.0"},{"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.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-paging","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.paging:paging-runtime","old_version":"3.3.5","new_version":"3.5.0"},{"name":"androidx.paging:paging-compose","old_version":"3.3.5","new_version":"3.5.0"},{"name":"androidx.security:security-crypto","old_version":"1.1.0-alpha06","new_version":"1.1.0"},{"name":"androidx.media3:media3-exoplayer","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"name":"androidx.media3:media3-exoplayer-hls","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"name":"androidx.media3:media3-ui","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"name":"androidx.media3:media3-session","old_version":"1.5.1","new_version":"1.10.1","repository_url":"https://github.com/androidx/media"},{"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 22 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-viewmodel-compose | `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.compose:compose-bom | `2024.12.01` | `2026.05.01` |\n| androidx.tv:tv-material | `1.0.0` | `1.1.0` |\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.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-paging | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| androidx.paging:paging-runtime | `3.3.5` | `3.5.0` |\n| androidx.paging:paging-compose | `3.3.5` | `3.5.0` |\n| androidx.security:security-crypto | `1.1.0-alpha06` | `1.1.0` |\n| [androidx.media3:media3-exoplayer](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\n| [androidx.media3:media3-exoplayer-hls](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\n| [androidx.media3:media3-ui](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\n| [androidx.media3:media3-session](https://github.com/androidx/media) | `1.5.1` | `1.10.1` |\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.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-viewmodel-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.lifecycle:lifecycle-viewmodel-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.compose:compose-bom` from 2024.12.01 to 2026.05.01\n\nUpdates `androidx.tv:tv-material` from 1.0.0 to 1.1.0\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.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-paging` 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-paging` 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.paging:paging-runtime` from 3.3.5 to 3.5.0\n\nUpdates `androidx.paging:paging-compose` from 3.3.5 to 3.5.0\n\nUpdates `androidx.security:security-crypto` from 1.1.0-alpha06 to 1.1.0\n\nUpdates `androidx.media3:media3-exoplayer` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-exoplayer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-exoplayer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-exoplayer-hls` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-exoplayer-hls's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-exoplayer-hls's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-ui` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-session` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-session's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-session's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-exoplayer-hls` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-exoplayer-hls's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers are added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect when the user \u0026quot;stops scrubbing\u0026quot; (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't propagated across thread boundaries in case the application thread is not the main thread (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a \u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that supports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform media sessions that don't allow \u003ccode\u003ePREPARE_FROM\u003c/code\u003e actions.\u003c/li\u003e\n\u003cli\u003eFix bug where own process wasn't marked with \u003ccode\u003eController.isTrusted()\u003c/code\u003e on API 27 or before when connecting via platform controllers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHLS extension:\n\u003cul\u003e\n\u003cli\u003eFix a bug where an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e is thrown during stream fallback if the track selection is a subset of the available tracks (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3161\"\u003e#3161\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix an issue where the initialization segment was not carried over across media playlist updates if the \u003ccode\u003e#EXT-X-MAP\u003c/code\u003e tag was not repeated in subsequent updates (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDASH extension:\n\u003cul\u003e\n\u003cli\u003eFix crash in \u003ccode\u003eSampleQueue\u003c/code\u003e when seeking into a chunk that is currently being canceled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003ePromote \u003ccode\u003ePlayer.mute()\u003c/code\u003e and \u003ccode\u003ePlayer.unmute()\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003ePromote \u003ccode\u003eFormat.pcmEncoding\u003c/code\u003e and \u003ccode\u003eC.PcmEncoding\u003c/code\u003e from \u003ccode\u003eUnstableApi\u003c/code\u003e to stable.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eFormat.primaryTrackGroupId\u003c/code\u003e to identify the primary group of embedded \u003ccode\u003eFormat\u003c/code\u003e instances (\u003ca href=\"https://redirect.github.com/androidx/media/issues/294\"\u003e#294\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd clipping capabilities to \u003ccode\u003eAdsMediaSource\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd support for dynamic scheduling in \u003ccode\u003eMediaCodecVideoRenderer\u003c/code\u003e to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using \u003ccode\u003eexperimentalSetEnableMediaCodecVideoRendererDurationToProgressUs()\u003c/code\u003e in the \u003ccode\u003eDefaultRenderersFactory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow setting a custom \u003ccode\u003eDataSource.Factory\u003c/code\u003e in \u003ccode\u003eDefaultPreloadManager.Builder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eExoPlayer\u003c/code\u003e to be mocked without Robolectric by moving some default constants to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (\u003ca href=\"https://redirect.github.com/androidx/media/issues/2985\"\u003e#2985\u003c/a\u003e).\n\u003cul\u003e\n\u003cli\u003eThis required moving \u003ccode\u003eDEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS\u003c/code\u003e from \u003ccode\u003eExoPlayer\u003c/code\u003e to \u003ccode\u003eExoPlayer.Builder\u003c/code\u003e (without deprecation).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003eProgressiveMediaSource\u003c/code\u003e propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3016\"\u003e#3016\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.\u003c/li\u003e\n\u003cli\u003eFix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3052\"\u003e#3052\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for Dolby Vision Profile 10 (\u003ca href=\"https://redirect.github.com/androidx/media/pull/2830\"\u003e#2830\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where an uninitialized pre roll ad produced an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3125\"\u003e#3125\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCompositionPlayer:\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eEditedMediaItem.removeVideo\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTransformer:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEditedMediaItem.Builder.setFrameRate()\u003c/code\u003e can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with \u003ccode\u003esetSpeed()\u003c/code\u003e.\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/blob/release/RELEASENOTES.md\"\u003eandroidx.media3:media3-exoplayer-hls's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.10.1 (2026-05-12)\u003c/h3\u003e\n\u003cp\u003eThis release includes the following changes since \u003ca href=\"https://github.com/androidx/media/blob/release/#1100-2026-03-25\"\u003e1.10.0\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and\n\u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could\nlead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode.\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with\nrenderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization\ndata when using an AV1-based Dolby Vision codec\n(\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback\nMIME types and move HDR and codec score preferences to quality\npreferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream\nlength (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when\n\u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample\n(\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderers\nare added to the player.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eVideo:\n\u003cul\u003e\n\u003cli\u003eAdjust logic for codec reuse at frame rate changes on API below 30 to\navoid codec resets where they are not beneficial\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/3120\"\u003e#3120\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDisable forced synchronization workaround in \u003ccode\u003equeueSecureInputBuffer\u003c/code\u003e\nfor API 31+. The workaround was an artificial bottleneck that forced\ndecryption to run serially which prevented garbled video due to a\nframework issue existing prior to API 31.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImage:\n\u003cul\u003e\n\u003cli\u003eFix issue in scrubbing mode where image updates would only take effect\nwhen the user \u0026quot;stops scrubbing\u0026quot;\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2815\"\u003e#2815\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSession:\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eForegroundServiceStartNotAllowedException\u003c/code\u003e wasn't\npropagated across thread boundaries in case the application thread is\nnot the main thread\n(\u003ca href=\"https://redirect.github.com/androidx/media/issues/2499\"\u003e#2499\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eCOMMAND_SEEK_TO_MEDIA_ITEM\u003c/code\u003e is not available in a\n\u003ccode\u003eMediaController\u003c/code\u003e when connecting to a platform-only session that\nsupports seeking to other items but no playlist modifications.\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eMediaController\u003c/code\u003e can't set media items on platform\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/androidx/media/commit/5fb306449733dd71595700c1227ad6087578c559\"\u003e\u003ccode\u003e5fb3064\u003c/code\u003e\u003c/a\u003e Bump version to 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/95d6a273bd675ef168525ac3bb54aa6a3f1c76ce\"\u003e\u003ccode\u003e95d6a27\u003c/code\u003e\u003c/a\u003e Update release notes for 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a2bc30474e3313e8bc690428d9c8615b99ffc25d\"\u003e\u003ccode\u003ea2bc304\u003c/code\u003e\u003c/a\u003e Fix Mp4Extractor OutOfBounds exception when sample tables are omitted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/2142ab0b73bfe32edac50b0b6840ff7176297fdc\"\u003e\u003ccode\u003e2142ab0\u003c/code\u003e\u003c/a\u003e Fix scrubbing mode's intermittent seek prevention for image rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/b323c9d818da8e36d8a6308b27bcfaeb079fa70f\"\u003e\u003ccode\u003eb323c9d\u003c/code\u003e\u003c/a\u003e Add specific error codes for failure to render errors.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/a8ef4090a9f018eba9455eb70d496b3884e50443\"\u003e\u003ccode\u003ea8ef409\u003c/code\u003e\u003c/a\u003e Fix redirection of stderr in bazelisk check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/14f8248c55f8b17bc63a04b7a4363a8a150bf472\"\u003e\u003ccode\u003e14f8248\u003c/code\u003e\u003c/a\u003e Improve memory management in av1 decoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/4a584060a8925ccd512dc50f79c765f58413d558\"\u003e\u003ccode\u003e4a58406\u003c/code\u003e\u003c/a\u003e Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/de3e9e7d586876dce8b66ef10eb5e0910afd5d54\"\u003e\u003ccode\u003ede3e9e7\u003c/code\u003e\u003c/a\u003e Fix crash in SampleQueue when seeking into canceled chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/androidx/media/commit/910c4027ff0137fc5c827dfab465aa1ece37487c\"\u003e\u003ccode\u003e910c402\u003c/code\u003e\u003c/a\u003e Fix video track selection for Dolby Vision fallback tracks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/androidx/media/compare/1.5.1...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.media3:media3-ui` from 1.5.1 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/androidx/media/releases\"\u003eandroidx.media3:media3-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCommon library:\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eonAudioSessionIdChanged\u003c/code\u003e in \u003ccode\u003eSimpleBasePlayer\u003c/code\u003e and \u003ccode\u003eForwardingSimpleBasePlayer\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExoPlayer:\n\u003cul\u003e\n\u003cli\u003eFix race condition related to audio session id generation that could lead to an \u003ccode\u003eIllegalStateException\u003c/code\u003e with tunneling mode (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3099\"\u003e#3099\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix possible app crashes when recovering from decoder errors with renderer prewarming.\u003c/li\u003e\n\u003cli\u003eFix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (\u003ca href=\"https://redirect.github.com/androidx/media/pull/3153\"\u003e#3153\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTrack selection:\n\u003cul\u003e\n\u003cli\u003eAdjust track selection logic in \u003ccode\u003eVideoTrackInfo\u003c/code\u003e to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3135\"\u003e#3135\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eExtractors:\n\u003cul\u003e\n\u003cli\u003eMP3: Ignore Xing data length if it is longer than the known stream length (\u003ca href=\"https://redirect.github.com/androidx/media/issues/3117\"\u003e#3117\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e in \u003ccode\u003eMp4Extractor\u003c/code\u003e when \u003ccode\u003eFLAG_OMIT_TRACK_SAMPLE_TABLE\u003c/code\u003e is set and the track lacks a sync sample (\u003ccode\u003estss\u003c/code\u003e) box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAudio:\n\u003cul\u003e\n\u003cli\u003eFix bug where audio events may be misrouted if multiple audio renderer...\n\n_Description has been truncated_","html_url":"https://github.com/isnow-git/strix/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/isnow-git%2Fstrix/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"2.8.7","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-05-27T22:48:29.000Z","version_change":"2.8.7 → 2.10.0","issue":{"uuid":"4536269037","node_id":"PR_kwDOSpGRQM7gBUbg","number":12,"state":"closed","title":"build: bump the gradle-minor-patch group across 1 directory with 35 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-28T00:29:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-27T22:48:29.000Z","updated_at":"2026-05-28T00:29:50.000Z","time_to_close":6071,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"gradle-minor-patch","update_count":35,"packages":[{"name":"gradle-wrapper","old_version":"8.11.1","new_version":"8.14.5","repository_url":"https://github.com/gradle/gradle"},{"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.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.8"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","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":"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.ktor:ktor-server-core","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-cio","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-html-builder","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.0.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.jsoup:jsoup","old_version":"1.18.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"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":"androidx.datastore:datastore","old_version":"1.1.1","new_version":"1.2.1"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"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.room:room-testing","old_version":"2.6.1","new_version":"2.8.4"},{"name":"net.zetetic:sqlcipher-android","old_version":"4.6.1","new_version":"4.16.0","repository_url":"https://github.com/sqlcipher/sqlcipher-android"},{"name":"androidx.sqlite:sqlite","old_version":"2.4.0","new_version":"2.6.2"},{"name":"com.lambdapioneer.argon2kt:argon2kt","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/lambdapioneer/argon2kt"},{"name":"org.robolectric:robolectric","old_version":"4.13","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":"com.android.application","old_version":"8.7.3","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.0.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.0.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.0.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"12.1.1","new_version":"12.3.0"},{"name":"com.google.devtools.ksp","old_version":"2.0.21-1.0.28","new_version":"2.3.9","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-patch group with 35 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.11.1` | `8.14.5` |\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.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.8` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.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.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-cio](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-html-builder](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.0.3` | `3.5.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.3` | `1.22.2` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.datastore:datastore | `1.1.1` | `1.2.1` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\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.room:room-testing | `2.6.1` | `2.8.4` |\n| [net.zetetic:sqlcipher-android](https://github.com/sqlcipher/sqlcipher-android) | `4.6.1` | `4.16.0` |\n| androidx.sqlite:sqlite | `2.4.0` | `2.6.2` |\n| [com.lambdapioneer.argon2kt:argon2kt](https://github.com/lambdapioneer/argon2kt) | `1.5.0` | `1.6.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.13` | `4.16.1` |\n| androidx.test:core | `1.6.1` | `1.7.0` |\n| com.android.application | `8.7.3` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.21` |\n| org.jlleitschuh.gradle.ktlint | `12.1.1` | `12.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.0.21-1.0.28` | `2.3.9` |\n\n\nUpdates `gradle-wrapper` from 8.11.1 to 8.14.5\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\u003e8.14.5\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 8.14.5.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 24 support\u003c/li\u003e\n\u003cli\u003eGraalVM Native Image toolchain selection\u003c/li\u003e\n\u003cli\u003eEnhancements to test reporting\u003c/li\u003e\n\u003cli\u003eBuild Authoring improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/8.14.5/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/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/benjamin-bader\"\u003eBen Bader\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/chandre92\"\u003echandre92\u003c/a\u003e,\n\u003ca href=\"https://github.com/dlehammer\"\u003eDaniel Hammer\u003c/a\u003e,\n\u003ca href=\"https://github.com/danishnawab\"\u003eDanish Nawab\u003c/a\u003e,\n\u003ca href=\"https://github.com/DreierF\"\u003eFlorian Dreier\u003c/a\u003e,\n\u003ca href=\"https://github.com/Mengmeiivy\"\u003eIvy Chen\u003c/a\u003e,\n\u003ca href=\"https://github.com/jjohannes\"\u003eJendrik Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/jimmy1995-gu\"\u003ejimmy1995-gu\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/NaMinhyeok\"\u003eNa Minhyeok\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 8.14.5 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=8.14.5 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/8.14.5/userguide/upgrading_version_8.html\"\u003e8.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/8.14.5/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\u003e8.14.4\u003c/h2\u003e\n\u003cp\u003eThis is a patch release for 8.14. We recommend using 8.14.4 instead of 8.14.\u003c/p\u003e\n\u003cp\u003eThis release addresses two security vulnerabilities:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-mqwm-5m85-gmcv\"\u003eFailure to disable repositories failing to answer can expose builds to malicious artifacts\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/security/advisories/GHSA-w78c-w6vf-rw82\"\u003eFailure to disable repositories with unknown host can expose builds to malicious artifacts\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/gradle/gradle/commit/62345becae08b13e793521816d585102fea66398\"\u003e\u003ccode\u003e62345be\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37829\"\u003e#37829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/38049c286691bf85cee542f8b2f8dc1cc54dd25d\"\u003e\u003ccode\u003e38049c2\u003c/code\u003e\u003c/a\u003e Finalize release notes for 8.14.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f3781397d4ad84fcc034f239efe7dc350f564741\"\u003e\u003ccode\u003ef378139\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37780\"\u003e#37780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4e739b5959a5b0f1c5962cd387143c91b27343d3\"\u003e\u003ccode\u003e4e739b5\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d94136aadaa292280b860e5032e7dddc6e116112\"\u003e\u003ccode\u003ed94136a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37704\"\u003e#37704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/a2f6942e453c80634fca32ba0e11a9ce8b7baf48\"\u003e\u003ccode\u003ea2f6942\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/28df2639ea8752218176288ef6a9e678c779f73b\"\u003e\u003ccode\u003e28df263\u003c/code\u003e\u003c/a\u003e Backport exclude bugfix (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37559\"\u003e#37559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e03dca12e7b77f5f6ec00f7d81eb8734f7596d52\"\u003e\u003ccode\u003ee03dca1\u003c/code\u003e\u003c/a\u003e Upgrade BouncyCastle to 1.84 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37656\"\u003e#37656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/987d1a32e4f3d97b14413e9ee2742df820ec6beb\"\u003e\u003ccode\u003e987d1a3\u003c/code\u003e\u003c/a\u003e Bump the Jackson version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/56e392c0f0b9f16bcba1c03f7bd0bae08a82556a\"\u003e\u003ccode\u003e56e392c\u003c/code\u003e\u003c/a\u003e Bump Bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.11.1...v8.14.5\"\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.15.0 to 1.18.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` 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.navigation:navigation-compose` from 2.8.5 to 2.9.8\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\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 \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 `io.ktor:ktor-server-core` from 3.0.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according...\n\n_Description has been truncated_","html_url":"https://github.com/FlintWave/SearchMob/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlintWave%2FSearchMob/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"2.8.7","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-05-23T16:06:46.000Z","version_change":"2.8.7 → 2.10.0","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.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-03-16T11:17:56.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"4081854602","node_id":"PR_kwDORkKaT87K489X","number":7,"state":"closed","title":"Bump androidx.lifecycle:lifecycle-runtime-compose from 2.9.4 to 2.10.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-11T10:33:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T11:17:56.000Z","updated_at":"2026-04-11T10:33:12.000Z","time_to_close":2243707,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.lifecycle:lifecycle-runtime-compose from 2.9.4 to 2.10.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.lifecycle:lifecycle-runtime-compose\u0026package-manager=gradle\u0026previous-version=2.9.4\u0026new-version=2.10.0)](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/aeewws/codex-mobile/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeewws%2Fcodex-mobile/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"2.9.2","new_version":"2.10.0","update_type":"minor","path":"/manager","pr_created_at":"2026-02-24T06:06:56.000Z","version_change":"2.9.2 → 2.10.0","issue":{"uuid":"3981730944","node_id":"PR_kwDOPy0gis7F1FbC","number":18,"state":"closed","title":"build(deps): bump the maven group in /manager with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-08T23:17:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-24T06:06:56.000Z","updated_at":"2026-05-08T23:17:59.000Z","time_to_close":6369061,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"8.14.3","new_version":"9.3.1"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.4"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.3","new_version":"2.9.7"},{"name":"androidx.compose:compose-bom","old_version":"2025.07.00","new_version":"2026.02.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.12.0","new_version":"9.0.1"},{"name":"com.android.library","old_version":"8.12.0","new_version":"9.0.1"},{"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.compose","old_version":"2.2.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"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.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.4","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":"/manager","ecosystem":"maven"},"body":"Bumps the maven group in /manager with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.14.3` | `9.3.1` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.4` |\n| androidx.navigation:navigation-compose | `2.9.3` | `2.9.7` |\n| androidx.compose:compose-bom | `2025.07.00` | `2026.02.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.2` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.android.application | `8.12.0` | `9.0.1` |\n| com.android.library | `8.12.0` | `9.0.1` |\n| [org.jetbrains.kotlin.android](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| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.6` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.4` |\n\nUpdates `gradle-wrapper` from 8.14.3 to 9.3.1\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.4\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.3 to 2.9.7\n\nUpdates `androidx.compose:compose-bom` from 2025.07.00 to 2026.02.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\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 8.12.0 to 9.0.1\n\nUpdates `com.android.library` from 8.12.0 to 9.0.1\n\nUpdates `com.android.library` from 8.12.0 to 9.0.1\n\nUpdates `org.jetbrains.kotlin.android` 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.android'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.android'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.plugin.compose` 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.plugin.compose'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.plugin.compose'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.plugin.compose` 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.plugin.compose'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.plugin.compose'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 `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.lsposed.lsplugin.cmaker` from 1.2 to 1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\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/TycOnee/KernelSU-Next/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TycOnee%2FKernelSU-Next/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"2.8.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-02-13T10:53:04.000Z","version_change":"2.8.4 → 2.10.0","issue":{"uuid":"3936576539","node_id":"PR_kwDOPkCqE87Dhoo_","number":18,"state":"open","title":"chore(deps): bump androidx.lifecycle:lifecycle-runtime-compose from 2.8.4 to 2.10.0","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-02-13T10:53:04.000Z","updated_at":"2026-02-13T10:53:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.8.4","new_version":"2.10.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps androidx.lifecycle:lifecycle-runtime-compose from 2.8.4 to 2.10.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.lifecycle:lifecycle-runtime-compose\u0026package-manager=gradle\u0026previous-version=2.8.4\u0026new-version=2.10.0)](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/FreetimeMaker/GeoWeather/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreetimeMaker%2FGeoWeather/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"2.8.7","new_version":"2.10.0","update_type":"minor","path":"/apps/android","pr_created_at":"2026-02-12T18:35:35.000Z","version_change":"2.8.7 → 2.10.0","issue":{"uuid":"3933373384","node_id":"PR_kwDOOXg8bc7DXBv2","number":6,"state":"closed","title":"deps(android): bump the gradle-all group in /apps/android with 26 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-23T11:33:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-12T18:35:35.000Z","updated_at":"2026-02-23T11:33:05.000Z","time_to_close":925049,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(android): bump","group_name":"gradle-all","update_count":26,"packages":[{"name":"com.android.application","old_version":"8.13.2","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.0","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2024.12.01","new_version":"2026.02.00"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.12.4"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.7"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.squareup.retrofit2:retrofit","old_version":"2.11.0","new_version":"3.0.0","repository_url":"https://github.com/square/retrofit"},{"name":"com.squareup.retrofit2:converter-gson","old_version":"2.11.0","new_version":"3.0.0","repository_url":"https://github.com/square/retrofit"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.squareup.okhttp3:logging-interceptor","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"io.insert-koin:koin-android","old_version":"4.0.0","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-androidx-compose","old_version":"4.0.0","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"androidx.security:security-crypto","old_version":"1.1.0-alpha06","new_version":"1.1.0"},{"name":"androidx.credentials:credentials","old_version":"1.5.0-beta01","new_version":"1.6.0-rc01"},{"name":"androidx.credentials:credentials-play-services-auth","old_version":"1.5.0-beta01","new_version":"1.6.0-rc01"},{"name":"com.google.android.gms:play-services-fido","old_version":"21.1.0","new_version":"21.2.0"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.squareup.okhttp3:mockwebserver","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"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":"gradle-wrapper","old_version":"8.13","new_version":"9.3.1"}],"path":"/apps/android","ecosystem":"maven"},"body":"Bumps the gradle-all group in /apps/android with 26 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `8.13.2` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.10` |\n| androidx.compose:compose-bom | `2024.12.01` | `2026.02.00` |\n| androidx.activity:activity-compose | `1.9.3` | `1.12.4` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.7` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.10.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [com.squareup.retrofit2:retrofit](https://github.com/square/retrofit) | `2.11.0` | `3.0.0` |\n| [com.squareup.retrofit2:converter-gson](https://github.com/square/retrofit) | `2.11.0` | `3.0.0` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [com.squareup.okhttp3:logging-interceptor](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [io.insert-koin:koin-android](https://github.com/InsertKoinIO/koin) | `4.0.0` | `4.1.1` |\n| [io.insert-koin:koin-androidx-compose](https://github.com/InsertKoinIO/koin) | `4.0.0` | `4.1.1` |\n| androidx.security:security-crypto | `1.1.0-alpha06` | `1.1.0` |\n| androidx.credentials:credentials | `1.5.0-beta01` | `1.6.0-rc01` |\n| androidx.credentials:credentials-play-services-auth | `1.5.0-beta01` | `1.6.0-rc01` |\n| com.google.android.gms:play-services-fido | `21.1.0` | `21.2.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [com.squareup.okhttp3:mockwebserver](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\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| gradle-wrapper | `8.13` | `9.3.1` |\n\nUpdates `com.android.application` from 8.13.2 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.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.android'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.android'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.1.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.plugin.compose` from 2.1.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.plugin.compose'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.plugin.compose'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.1.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.plugin.serialization` from 2.1.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.plugin.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.plugin.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.1.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 `androidx.compose:compose-bom` from 2024.12.01 to 2026.02.00\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.12.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.7\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.10.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.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\u003cp\u003ePolymorphic serialization received a couple of improvements in this release:\u003c/p\u003e\n\u003ch4\u003eNew \u003ccode\u003esubclassesOfSealed\u003c/code\u003e utility to automatically register sealed subclasses serializers in polymorphic modules (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2201\"\u003e#2201\u003c/a\u003e).\u003c/h4\u003e\n\u003cp\u003eUse it in your \u003ccode\u003eSerializersModule\u003c/code\u003e when configuring a polymorphic hierarchy which contains both abstract and sealed classes. \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2199\"\u003eFor example\u003c/a\u003e, when root of your hierarchy is an \u003ccode\u003einterface\u003c/code\u003e, but most of your inheritors are \u003ccode\u003esealed\u003c/code\u003e classes. The new function will register all known sealed subclasses for you, so you don’t need to list them one by one. This makes writing your \u003ccode\u003eSerializerModule\u003c/code\u003es much faster and simpler. Big thanks to \u003ca href=\"https://github.com/pdvrieze\"\u003ePaul de Vrieze\u003c/a\u003e for contributing this feature.\u003c/p\u003e\n\u003ch4\u003eClass discriminator conflict check rework (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3105\"\u003e#3105\u003c/a\u003e).\u003c/h4\u003e\n\u003cp\u003eIf a payload already contains a property with the same name as the configured discriminator (for example, \u003ccode\u003etype\u003c/code\u003e),\nit is called a class discriminator conflict. To produce a correct output and allow more inputs to be deserialized at the same time, the following changes were made:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConflicts introduced by \u003ccode\u003eJsonNamingStrategy\u003c/code\u003e transformations are now detected during serialization as well and will cause \u003ccode\u003eSerializationException\u003c/code\u003e.\nIt also affects non-polymorphic classes.\u003c/li\u003e\n\u003cli\u003eConflicts from \u003ccode\u003eClassDisciminatorMode.ALL_JSON_OBJECTS\u003c/code\u003e and \u003ccode\u003eSerializersModuleBuilder.polymorphicDefaultSerializer\u003c/code\u003e are also detected.\u003c/li\u003e\n\u003cli\u003eIt is allowed to deserialize such a conflicting key for both sealed and open polymorphic hierarchies.\nPreviously, it was possible in the sealed hierarchies alone due to missing assertion. See \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1664\"\u003e#1664\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGeneral improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e.serialName\u003c/code\u003e to \u003ccode\u003eMissingFieldException\u003c/code\u003e for clearer diagnostics. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3114\"\u003e#3114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerate unique \u003ccode\u003eAutomatic-Module-Name\u003c/code\u003e entries for metadata JARs. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3109\"\u003e#3109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevised ProGuard rules and added R8 tests. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3041\"\u003e#3041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCBOR: Improved error message when a byte string/array type mismatch is encountered. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3052\"\u003e#3052\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\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.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\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\nat 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\ncan get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e.\nTo 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\u003cp\u003ePolymorphic serialization received a couple of improvements in this release:\u003c/p\u003e\n\u003cp\u003eNew \u003ccode\u003esubclassesOfSealed\u003c/code\u003e utility to automatically register sealed subclasses serializers in polymorphic modules (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2201\"\u003e#2201\u003c/a\u003e).\nUse it in your \u003ccode\u003eSerializersModule\u003c/code\u003e when configuring a polymorphic hierarchy which contains both abstract and sealed classes.\n\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2199\"\u003eFor example\u003c/a\u003e, when root of your hierarchy is an \u003ccode\u003einterface\u003c/code\u003e, but most of your inheritors are \u003ccode\u003esealed\u003c/code\u003e classes.\nThe new function will register all known sealed subclasses for you, so you don’t need to list them one by one.\nThis makes writing your \u003ccode\u003eSerializerModule\u003c/code\u003es much faster and simpler.\nBig thanks to \u003ca href=\"https://github.com/pdvrieze\"\u003ePaul de Vrieze\u003c/a\u003e for contributing this feature.\u003c/p\u003e\n\u003cp\u003eClass discriminator conflict check rework (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3105\"\u003e#3105\u003c/a\u003e).\nIf a payload already contains a property with the same name as the configured discriminator (for example, \u003ccode\u003etype\u003c/code\u003e),\nit is called a class discriminator conflict.\nTo produce a correct output and allow more inputs to be deserialized at the same time, the following changes were made:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConflicts introduced by \u003ccode\u003eJsonNamingStrategy\u003c/code\u003e transformations are now detected during serialization as well and will cause \u003ccode\u003eSerializationException\u003c/code\u003e.\nIt also affects non-polymorphic classes.\u003c/li\u003e\n\u003cli\u003eConflicts from \u003ccode\u003eClassDisciminatorMode.ALL_JSON_OBJECTS\u003c/code\u003e and \u003ccode\u003eSerializersModuleBuilder.polymorphicDefaultSerializer\u003c/code\u003e are also detected.\u003c/li\u003e\n\u003cli\u003eIt is allowed to deserialize such a conflicting key for both sealed and open polymorphic hierarchies.\nPreviously, it was possible in the sealed hierarchies alone due to missing assertion. See \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1664\"\u003e#1664\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGeneral 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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/370c4e3780066b82f746cf38e4733cbe62c94f74\"\u003e\u003ccode\u003e370c4e3\u003c/code\u003e\u003c/a\u003e Prepare 1.10.0 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3142\"\u003e#3142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/eaa4b0b55fdb85876955829a1fb67beb4d2f2064\"\u003e\u003ccode\u003eeaa4b0b\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/0311f163cb4c7fde8268a45989f2b781a8847d57\"\u003e\u003ccode\u003e0311f16\u003c/code\u003e\u003c/a\u003e Fix ProtoBuf packing for kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a19df8cfd295e1cc6dbd35d50e33bf21c2463c09\"\u003e\u003ccode\u003ea19df8c\u003c/code\u003e\u003c/a\u003e Add a disclaimer to \u0026quot;Other community-supported formats\u0026quot; section and slightly ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/2f8a8747b01eaaeed0ea04467eefe2ae74096159\"\u003e\u003ccode\u003e2f8a874\u003c/code\u003e\u003c/a\u003e Add JSON5 to community-supported formats (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3134\"\u003e#3134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/975af2ca94b77f9117248f0c977f2791e7caac59\"\u003e\u003ccode\u003e975af2c\u003c/code\u003e\u003c/a\u003e Actualize releasing process document\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/e8be81f319d528ea93ad5da59cb7ff513eca2ead\"\u003e\u003ccode\u003ee8be81f\u003c/code\u003e\u003c/a\u003e Prepare 1.10.0-RC release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/e334d1c3927753e579f064aa53327585d995a0c0\"\u003e\u003ccode\u003ee334d1c\u003c/code\u003e\u003c/a\u003e [CBOR] Fix various bugs in the decoder implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/d7ca108a77e69c80977e386eecca002187f0699f\"\u003e\u003ccode\u003ed7ca108\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/a5a3c97a590571de3f6692c21d00de95aa16226c\"\u003e\u003ccode\u003ea5a3c97\u003c/code\u003e\u003c/a\u003e IR inliner: Enable intra-module mode for kotlinx.serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3128\"\u003e#3128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.10.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.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-android'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\u003c/blockquote\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.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\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/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.9.0...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.squareup.retrofit2:retrofit` from 2.11.0 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/square/retrofit/releases\"\u003ecom.squareup.retrofit2:retrofit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eChanged\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade to OkHttp 4.12 (from 3.14).\u003c/p\u003e\n\u003cp\u003eThis is the version of OkHttp that is written in Kotlin, and as a result Retrofit now has a transitive Kotlin dependency. However, this is also the \u003cem\u003esupported\u003c/em\u003e version of OkHttp whereas the previous version was out of support for nearly 4 years.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNote: The 3.x versions of Retrofit maintain forward binary-compatibility with the 2.x versions.\nThis means libraries compiled against 2.x can still be used with the 3.x versions.\u003c/p\u003e\n\u003ch2\u003e2.12.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFirst-party converters now support deferring serialization to happen when the request body is written (i.e., during HTTP execution) rather than when the HTTP request is created. In some cases this moves conversion from a calling thread to a background thread, such as in the case when using \u003ccode\u003eCall.enqueue\u003c/code\u003e directly.\u003c/p\u003e\n\u003cp\u003eThe following converters support this feature through a new \u003ccode\u003ewithStreaming()\u003c/code\u003e factory method:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGson\u003c/li\u003e\n\u003cli\u003eJackson\u003c/li\u003e\n\u003cli\u003eMoshi\u003c/li\u003e\n\u003cli\u003eProtobuf\u003c/li\u003e\n\u003cli\u003eWire\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrimitive types used with \u003ccode\u003e@Tag\u003c/code\u003e now work by storing the value boxed with the boxed class as the key.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\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/square/retrofit/blob/trunk/CHANGELOG.md\"\u003ecom.squareup.retrofit2:retrofit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/square/retrofit/releases/tag/3.0.0\"\u003e3.0.0\u003c/a\u003e - 2025-05-15\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eChanged\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade to OkHttp 4.12 (from 3.14).\u003c/p\u003e\n\u003cp\u003eThis is the version of OkHttp that is written in Kotlin, and as a result Retrofit now has a transitive Kotlin dependency. However, this is also the \u003cem\u003esupported\u003c/em\u003e version of OkHttp whereas the previous version was out of support for nearly 4 years.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNote: The 3.x versions of Retrofit maintain forward binary-compatibility with the 2.x versions.\nThis means libraries compiled against 2.x can still be used with the 3.x versions.\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/square/retrofit/releases/tag/2.12.0\"\u003e2.12.0\u003c/a\u003e - 2025-05-15\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNew\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFirst-party converters now support deferring serialization to happen when the request body is written (i.e., during HTTP execution) rather than when the HTTP request is created. In some cases this moves conversion from a calling thread to a background thread, such as in the case when using \u003ccode\u003eCall.enqueue\u003c/code\u003e directly.\u003c/p\u003e\n\u003cp\u003eThe following converters support this feature through a new \u003ccode\u003ewithStreaming()\u003c/code\u003e factory method:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGson\u003c/li\u003e\n\u003cli\u003eJackson\u003c/li\u003e\n\u003cli\u003eMoshi\u003c/li\u003e\n\u003cli\u003eProtobuf\u003c/li\u003e\n\u003cli\u003eWire\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrimitive types used with \u003ccode\u003e@Tag\u003c/code\u003e now work by storing the value boxed with the boxed class as the key.\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/square/retrofit/commit/3ab0f1a2c18666adb79ebf4eacef6fbc40d3e801\"\u003e\u003ccode\u003e3ab0f1a\u003c/code\u003e\u003c/a\u003e Prepare version 3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/e5c02d08f3777ce00a31fb37d77f15eecdf4e383\"\u003e\u003ccode\u003ee5c02d0\u003c/code\u003e\u003c/a\u003e Commit 2.x docs (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4378\"\u003e#4378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/5bc3f183cfa24ab1f382c2029dc82ee292caef1b\"\u003e\u003ccode\u003e5bc3f18\u003c/code\u003e\u003c/a\u003e Fix links on the proudction site (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4377\"\u003e#4377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/7c3b2290bd6cd985ebaa93bfc183abd1bf04b977\"\u003e\u003ccode\u003e7c3b229\u003c/code\u003e\u003c/a\u003e Remove compileOnly stdlib dependency (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4376\"\u003e#4376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/84185470adc33a0f1b3d8766f2d722c770e2e89a\"\u003e\u003ccode\u003e8418547\u003c/code\u003e\u003c/a\u003e Update okhttp monorepo to v4 (major) (\u003ca href=\"https://redirect.github.com/square/retrofit/issues/4375\"\u003e#4375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/06216a3b24ad828e511fd25b4858a1ed104c8719\"\u003e\u003ccode\u003e06216a3\u003c/code\u003e\u003c/a\u003e Try to fix removal of latest dir during release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/1697bdc4913a34871125c96c7be16b688c6e82bc\"\u003e\u003ccode\u003e1697bdc\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/retrofit/commit/5a6ce364ad5208999a8e0847de760f97d39ecffe\"\u003e\u003ccode\u003e5a6ce36\u003c/cod...\n\n_Description has been truncated_","html_url":"https://github.com/bedrud-ir/bedrud/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bedrud-ir%2Fbedrud/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"2.9.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-02-09T17:37:31.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"3917403782","node_id":"PR_kwDOQroX6s7CiR3m","number":55,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-15T02:58:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T17:37:31.000Z","updated_at":"2026-02-15T02:58:53.000Z","time_to_close":465681,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.1"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.3"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.6","new_version":"2.9.7"},{"name":"io.github.kyant0:capsule","old_version":"2.1.2","new_version":"2.1.3","repository_url":"https://github.com/Kyant0/Capsule"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.01"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha09","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.ui:ui","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"org.lsposed.libcxx:libcxx","old_version":"29.0.13599879-beta2","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"androidx.compose.foundation:foundation","old_version":"1.9.4","new_version":"1.10.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.4","new_version":"2.3.5","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 17 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.1` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.3` |\n| androidx.navigation:navigation-compose | `2.9.6` | `2.9.7` |\n| [io.github.kyant0:capsule](https://github.com/Kyant0/Capsule) | `2.1.2` | `2.1.3` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.01` |\n| androidx.compose.material3:material3 | `1.5.0-alpha09` | `1.5.0-alpha13` |\n| androidx.compose.ui:ui | `1.9.4` | `1.10.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.4` | `1.10.2` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `29.0.13599879-beta2` | `29.0.14206865` |\n| androidx.compose.foundation:foundation | `1.9.4` | `1.10.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.4` | `2.3.5` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.1\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.3\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.6 to 2.9.7\n\nUpdates `io.github.kyant0:capsule` from 2.1.2 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/2b8754ec7d706383bfdaa6e33610772e2ef4da7d\"\u003e\u003ccode\u003e2b8754e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/503266be3fae7d2f2d8401bedccd3cd1791db382\"\u003e\u003ccode\u003e503266b\u003c/code\u003e\u003c/a\u003e Add a line break\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/Capsule/compare/2.1.2...2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.01\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha09 to 1.5.0-alpha13\n\nUpdates `androidx.compose.ui:ui` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `org.lsposed.libcxx:libcxx` from 29.0.13599879-beta2 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/29.0.13599879-beta2...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose.foundation:foundation` from 1.9.4 to 1.10.2\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 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.android'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.android'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...v2.3.10\"\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.5\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.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/d97389ef1d2f9fbad31e5839ec7340ccf8813438\"\u003e\u003ccode\u003ed97389e\u003c/code\u003e\u003c/a\u003e Dispose of threadlocals in KSPCoreEnvironment after processing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/24d46e3c8ee9f2958a49598bcc483e437316aa6e\"\u003e\u003ccode\u003e24d46e3\u003c/code\u003e\u003c/a\u003e Update shadow-validation-baseline.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/924a66a61c834c2e89f7f96feafd78b80c8c8423\"\u003e\u003ccode\u003e924a66a\u003c/code\u003e\u003c/a\u003e Update metalava to 1.0.0-alpha14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/9edb1591aec2844f6bbf5b86fcef4760cfeb6356\"\u003e\u003ccode\u003e9edb159\u003c/code\u003e\u003c/a\u003e Remove JavaVersion.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/d6ac4945fdb87873a89a2335d9251c97e6f27a57\"\u003e\u003ccode\u003ed6ac494\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-7064\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a5a5f4052a45ca2f3c2cd94bc97d79208ca016e\"\u003e\u003ccode\u003e1a5a5f4\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-5706\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c410900e1307e17b4e213c5c6189acf4b321148b\"\u003e\u003ccode\u003ec410900\u003c/code\u003e\u003c/a\u003e Get rid of KotlinCoreEnvironment.createForTests()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6d5137b6a77a5ce18813e3f1964ebbd49e447a6f\"\u003e\u003ccode\u003e6d5137b\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-4294\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/fee66093278a8fe6f80c621ac9c5e2eb10594824\"\u003e\u003ccode\u003efee6609\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-2826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6aad46a3e0098724c8d1894d107623977fe5b60c\"\u003e\u003ccode\u003e6aad46a\u003c/code\u003e\u003c/a\u003e Switch to intellij's coroutines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\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/ReSukiSU/ReSukiSU/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReSukiSU%2FReSukiSU/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"}},{"old_version":"2.9.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-02-08T18:03:55.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"3913223740","node_id":"PR_kwDOQroX6s7CUkWC","number":51,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-08T21:05:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-08T18:03:55.000Z","updated_at":"2026-02-08T21:05:59.000Z","time_to_close":10922,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.1"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.3"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.6","new_version":"2.9.7"},{"name":"io.github.kyant0:capsule","old_version":"2.1.2","new_version":"2.1.3","repository_url":"https://github.com/Kyant0/Capsule"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.01"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha09","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.ui:ui","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.4","new_version":"1.10.2"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"org.lsposed.libcxx:libcxx","old_version":"29.0.13599879-beta2","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"androidx.compose.foundation:foundation","old_version":"1.9.4","new_version":"1.10.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.4","new_version":"2.3.5","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 17 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.1` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.3` |\n| androidx.navigation:navigation-compose | `2.9.6` | `2.9.7` |\n| [io.github.kyant0:capsule](https://github.com/Kyant0/Capsule) | `2.1.2` | `2.1.3` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.01` |\n| androidx.compose.material3:material3 | `1.5.0-alpha09` | `1.5.0-alpha13` |\n| androidx.compose.ui:ui | `1.9.4` | `1.10.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.4` | `1.10.2` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `29.0.13599879-beta2` | `29.0.14206865` |\n| androidx.compose.foundation:foundation | `1.9.4` | `1.10.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.10` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.4` | `2.3.5` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.1\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.3\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.6 to 2.9.7\n\nUpdates `io.github.kyant0:capsule` from 2.1.2 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/2b8754ec7d706383bfdaa6e33610772e2ef4da7d\"\u003e\u003ccode\u003e2b8754e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/503266be3fae7d2f2d8401bedccd3cd1791db382\"\u003e\u003ccode\u003e503266b\u003c/code\u003e\u003c/a\u003e Add a line break\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/Capsule/compare/2.1.2...2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.01\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha09 to 1.5.0-alpha13\n\nUpdates `androidx.compose.ui:ui` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.4 to 1.10.2\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `org.lsposed.libcxx:libcxx` from 29.0.13599879-beta2 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/29.0.13599879-beta2...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose.foundation:foundation` from 1.9.4 to 1.10.2\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 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.android'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.android'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...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.plugin.compose` from 2.2.21 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.plugin.compose'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.plugin.compose'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.21...v2.3.10\"\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.5\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.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/d97389ef1d2f9fbad31e5839ec7340ccf8813438\"\u003e\u003ccode\u003ed97389e\u003c/code\u003e\u003c/a\u003e Dispose of threadlocals in KSPCoreEnvironment after processing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/24d46e3c8ee9f2958a49598bcc483e437316aa6e\"\u003e\u003ccode\u003e24d46e3\u003c/code\u003e\u003c/a\u003e Update shadow-validation-baseline.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/924a66a61c834c2e89f7f96feafd78b80c8c8423\"\u003e\u003ccode\u003e924a66a\u003c/code\u003e\u003c/a\u003e Update metalava to 1.0.0-alpha14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/9edb1591aec2844f6bbf5b86fcef4760cfeb6356\"\u003e\u003ccode\u003e9edb159\u003c/code\u003e\u003c/a\u003e Remove JavaVersion.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/d6ac4945fdb87873a89a2335d9251c97e6f27a57\"\u003e\u003ccode\u003ed6ac494\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-7064\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a5a5f4052a45ca2f3c2cd94bc97d79208ca016e\"\u003e\u003ccode\u003e1a5a5f4\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-5706\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c410900e1307e17b4e213c5c6189acf4b321148b\"\u003e\u003ccode\u003ec410900\u003c/code\u003e\u003c/a\u003e Get rid of KotlinCoreEnvironment.createForTests()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6d5137b6a77a5ce18813e3f1964ebbd49e447a6f\"\u003e\u003ccode\u003e6d5137b\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-4294\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/fee66093278a8fe6f80c621ac9c5e2eb10594824\"\u003e\u003ccode\u003efee6609\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-2826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6aad46a3e0098724c8d1894d107623977fe5b60c\"\u003e\u003ccode\u003e6aad46a\u003c/code\u003e\u003c/a\u003e Switch to intellij's coroutines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.4...2.3.5\"\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/ReSukiSU/ReSukiSU/pull/51","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReSukiSU%2FReSukiSU/issues/51","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/51/packages"}},{"old_version":"2.9.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-29T13:07:34.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"3870582640","node_id":"PR_kwDOREExUc7AIF5T","number":2,"state":"open","title":"Bump the maven-dependencies group with 17 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-01-29T13:07:34.000Z","updated_at":"2026-01-30T13:39:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven-dependencies","update_count":17,"packages":[{"name":"androidx.lifecycle:lifecycle-process","old_version":"2.8.7","new_version":"2.10.0"},{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.3"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"androidx.biometric:biometric","old_version":"1.2.0-alpha05","new_version":"1.4.0-alpha05"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.01"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"com.google.code.gson:gson","old_version":"2.10.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.0"},{"name":"com.google.devtools.ksp","old_version":"2.3.1","new_version":"2.3.5","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.lifecycle:lifecycle-process | `2.8.7` | `2.10.0` |\n| gradle-wrapper | `9.2.0` | `9.3.0` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.3` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| androidx.biometric:biometric | `1.2.0-alpha05` | `1.4.0-alpha05` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.01` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.10.1` | `2.13.2` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.android.application | `8.13.1` | `9.0.0` |\n| com.android.library | `8.13.1` | `9.0.0` |\n| org.jetbrains.kotlin.android | `2.2.21` | `2.3.0` |\n| org.jetbrains.kotlin.plugin.compose | `2.2.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.1` | `2.3.5` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\nUpdates `androidx.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.3\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `androidx.biometric:biometric` from 1.2.0-alpha05 to 1.4.0-alpha05\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.01\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `com.google.code.gson:gson` from 2.10.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved packaging of JPMS module declaration in Gson jar\u003cbr /\u003e\nThis fixes an issue where Eclipse and VS Code users could not refer to the Gson module name \u003ccode\u003ecom.google.gson\u003c/code\u003e. See issue \u003ca href=\"https://redirect.github.com/google/gson/issues/2679\"\u003egoogle/gson#2679\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove internal class \u003ccode\u003eGsonPreconditions\u003c/code\u003e by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2879\"\u003egoogle/gson#2879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to using central-publishing-maven-plugin by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2900\"\u003egoogle/gson#2900\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/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2852\"\u003egoogle/gson#2852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChrisCraik\"\u003e\u003ccode\u003e@​ChrisCraik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2856\"\u003egoogle/gson#2856\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGson 2.13.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGive FieldNamingStrategy the ability to return multiple String names by \u003ca href=\"https://github.com/mfriesen\"\u003e\u003ccode\u003e@​mfriesen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2776\"\u003egoogle/gson#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove outdated android-proguard-example by \u003ca href=\"https://github.com/Goooler\"\u003e\u003ccode\u003e@​Goooler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2843\"\u003egoogle/gson#2843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust Troubleshooting Guide ProGuard / R8 section by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2844\"\u003egoogle/gson#2844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependencies, including the problematic \u003ccode\u003ecom.google.errorprone:error_prone_annotations:2.37.0\u003c/code\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/mfriesen\"\u003e\u003ccode\u003e@​mfriesen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2776\"\u003egoogle/gson#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Goooler\"\u003e\u003ccode\u003e@​Goooler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2843\"\u003egoogle/gson#2843\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.0...gson-parent-2.13.1\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.0...gson-parent-2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGson 2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA bug in deserializing collections has been fixed. Previously, if you did something like this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egson.fromJson(jsonString, new TypeToken\u0026lt;ImmutableList\u0026lt;String\u0026gt;\u0026gt;() {})\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ethen the inferred type would be \u003ccode\u003eImmutableList\u0026lt;String\u0026gt;\u003c/code\u003e, but Gson actually gave you an \u003ccode\u003eArrayList\u0026lt;String\u0026gt;\u003c/code\u003e. Usually that would lead to an immediate \u003ccode\u003eClassCastException\u003c/code\u003e, but in some circumstances the code might sometimes succeed despite the wrong type. Now you will see an exception like this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ecom.google.gson.JsonIOException: Abstract classes can't be instantiated!\nAdjust the R8 configuration or register an InstanceCreator or a TypeAdapter for this type.\nClass name: com.google.common.collect.ImmutableList\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ebecause Gson now really is trying to create an \u003ccode\u003eImmutableList\u003c/code\u003e through its constructor, but that isn't possible.\nEither change the requested type (in the \u003ccode\u003eTypeToken\u003c/code\u003e) to \u003ccode\u003eList\u0026lt;String\u0026gt;\u003c/code\u003e, or register a \u003ccode\u003eTypeAdapter\u003c/code\u003e or \u003ccode\u003eJsonDeserializer\u003c/code\u003e for \u003ccode\u003eImmutableList\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe internal classes \u003ccode\u003e$Gson$Types\u003c/code\u003e and \u003ccode\u003e$Gson$Preconditions\u003c/code\u003e have been renamed to remove the \u003ccode\u003e$\u003c/code\u003e characters. Since these are internal classes (as signaled not only by the package name but by the \u003ccode\u003e$\u003c/code\u003e characters), client code should not be affected. If your code \u003cem\u003ewas\u003c/em\u003e depending on these classes then we suggest making a copy of the class (subject to the \u003ca href=\"https://www.apache.org/licenses/LICENSE-2.0\"\u003elicense\u003c/a\u003e) rather than depending on the new names.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.12.1...gson-parent-2.13.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.12.1...gson-parent-2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGson 2.12.1\u003c/h2\u003e\n\u003cp\u003eThe only difference between this release and 2.12.0 is that OSGi declarations in the Gson jar now specify that \u003ccode\u003ecom.google.errorprone.annotations\u003c/code\u003e  is an optional dependency, not a required one. If you do not use OSGi then there is no effective change.\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/google/gson/commit/686fad782d969d8f15c7581a5435a208b810caa7\"\u003e\u003ccode\u003e686fad7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/c2d252a7e93d45b224a72b4ba8148a438cc1d59b\"\u003e\u003ccode\u003ec2d252a\u003c/code\u003e\u003c/a\u003e Switch to using central-publishing-maven-plugin. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/69cb755e5209b719b57f3b6f1a864b080cdca314\"\u003e\u003ccode\u003e69cb755\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/ea552c2278784e12094c8daea06b18679b2da2c9\"\u003e\u003ccode\u003eea552c2\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2898\"\u003e#2898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/fdc616d0da2fea0b28828386a38396eac66d85fd\"\u003e\u003ccode\u003efdc616d\u003c/code\u003e\u003c/a\u003e Set top-level permissions for CodeQL workflow (\u003ca href=\"https://redirect.github.com/google/gson/issues/2889\"\u003e#2889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/9334715a48aaf11c9f80f89f8242ba7d1c2d0c27\"\u003e\u003ccode\u003e9334715\u003c/code\u003e\u003c/a\u003e Create scorecard.yml (\u003ca href=\"https://redirect.github.com/google/gson/issues/2888\"\u003e#2888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f7de5c2c22dae98f2f98eefcb70c920ff71e437b\"\u003e\u003ccode\u003ef7de5c2\u003c/code\u003e\u003c/a\u003e Bump the maven group with 8 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/8c23cd363daec806d2e9b69665520043914782ac\"\u003e\u003ccode\u003e8c23cd3\u003c/code\u003e\u003c/a\u003e Update sources to satisfy a new Error Prone check. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5eab3eda9fff9db77b82eae621c26f1d7263386f\"\u003e\u003ccode\u003e5eab3ed\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2886\"\u003e#2886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5f5c20026009010608de17a9e5312849230b3b0b\"\u003e\u003ccode\u003e5f5c200\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 10 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.10.1...gson-parent-2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\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 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 to 2.3.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\nUpdates `com.google.devtools.ksp` from 2.3.1 to 2.3.5\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.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\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This release is a hotfix for a regression introduced in 2.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where KSP incorrectly processed specific nullable annotations from Java interfaces, leading to incorrect nullability in the generated Kotlin code \u003ca href=\"https://redirect.github.com/google/ksp/issues/2696\"\u003e#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a regression introduced in \u003ca href=\"https://redirect.github.com/google/ksp/issues/2656\"\u003e#2656\u003c/a\u003e that caused runtime failures for projects using AGP 8.8.0 and older due to an incompatible, version-specific type check. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2694\"\u003e#2694\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.2\"\u003ehttps://github.com/google/ksp/compare/2.3.1...2.3.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/google/ksp/commit/d97389ef1d2f9fbad31e5839ec7340ccf8813438\"\u003e\u003ccode\u003ed97389e\u003c/code\u003e\u003c/a\u003e Dispose of threadlocals in KSPCoreEnvironment after processing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/24d46e3c8ee9f2958a49598bcc483e437316aa6e\"\u003e\u003ccode\u003e24d46e3\u003c/code\u003e\u003c/a\u003e Update shadow-validation-baseline.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/924a66a61c834c2e89f7f96feafd78b80c8c8423\"\u003e\u003ccode\u003e924a66a\u003c/code\u003e\u003c/a\u003e Update metalava to 1.0.0-alpha14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/9edb1591aec2844f6bbf5b86fcef4760cfeb6356\"\u003e\u003ccode\u003e9edb159\u003c/code\u003e\u003c/a\u003e Remove JavaVersion.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/d6ac4945fdb87873a89a2335d9251c97e6f27a57\"\u003e\u003ccode\u003ed6ac494\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-7064\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a5a5f4052a45ca2f3c2cd94bc97d79208ca016e\"\u003e\u003ccode\u003e1a5a5f4\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-5706\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/c410900e1307e17b4e213c5c6189acf4b321148b\"\u003e\u003ccode\u003ec410900\u003c/code\u003e\u003c/a\u003e Get rid of KotlinCoreEnvironment.createForTests()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6d5137b6a77a5ce18813e3f1964ebbd49e447a6f\"\u003e\u003ccode\u003e6d5137b\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-4294\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/fee66093278a8fe6f80c621ac9c5e2eb10594824\"\u003e\u003ccode\u003efee6609\u003c/code\u003e\u003c/a\u003e UPDATE_AA_VERSION: 2.3.20-dev-2826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/6aad46a3e0098724c8d1894d107623977fe5b60c\"\u003e\u003ccode\u003e6aad46a\u003c/code\u003e\u003c/a\u003e Switch to intellij's coroutines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.lsplugin.cmaker` from 1.2 to 1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/Kdufse/ACPatch/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kdufse%2FACPatch/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"2.9.2","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-27T23:08:05.000Z","version_change":"2.9.2 → 2.10.0","issue":{"uuid":"3862805102","node_id":"PR_kwDOPlx9Ks6_uH4C","number":90,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-05T15:22:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-27T23:08:05.000Z","updated_at":"2026-02-05T15:22:15.000Z","time_to_close":749641,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":17,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.1","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.07.00","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.2","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.2.0-2.0.2","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the maven group with 17 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.1` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.07.00` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.2` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.2` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.android.application | `8.13.1` | `9.0.0` |\n| com.android.library | `8.13.1` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.1 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.07.00 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\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 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `com.android.library` from 8.13.1 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.0\"\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.4\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.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\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This release is a hotfix for a regression introduced in 2.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where KSP incorrectly processed specific nullable annotations from Java interfaces, leading to incorrect nullability in the generated Kotlin code \u003ca href=\"https://redirect.github.com/google/ksp/issues/2696\"\u003e#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a regression introduced in \u003ca href=\"https://redirect.github.com/google/ksp/issues/2656\"\u003e#2656\u003c/a\u003e that caused runtime failures for projects using AGP 8.8.0 and older due to an incompatible, version-specific type check. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2694\"\u003e#2694\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.2\"\u003ehttps://github.com/google/ksp/compare/2.3.1...2.3.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for AGP 9.0 and built-in Kotlin \u003ca href=\"https://redirect.github.com/google/ksp/issues/2674\"\u003e#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug in getJvmCheckedException that incorrectly handled nested classes. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2584\"\u003e#2584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved incorrect caching for KSValueArgumentLiteImpl that wrongly merged arguments with different parents, origins, or locations \u003ca href=\"https://redirect.github.com/google/ksp/issues/2677\"\u003e#2677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\n\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.0...2.3.1\"\u003ehttps://github.com/google/ksp/compare/2.3.0...2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP1 has been deprecated[ \u003ca href=\"https://redirect.github.com/google/ksp/issues/2657\"\u003e#2657\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/ksp/pull/2657\"\u003egoogle/ksp#2657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKSP version is no longer tied to the Kotlin compiler version (moving away from the old \u003c!-- raw HTML omitted --\u003e-\u003c!-- raw HTML omitted --\u003e format). \u003ca href=\"https://redirect.github.com/google/ksp/issues/2658\"\u003e#2658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKSP is no longer a compiler plugin (like KSP1). It now operates as a more standalone tool built on stable compiler APIs (shared with tools like IntelliJ).\u003c/li\u003e\n\u003cli\u003eKSP now has fewer limitations on the Kotlin version in use and allows the KSP team to provide better compatibility to KGP/AGP/Gradle\u003c/li\u003e\n\u003cli\u003eRead more about KSP2: \u003ca href=\"https://github.com/google/ksp/blob/main/docs/ksp2.md\"\u003ehttps://github.com/google/ksp/blob/main/docs/ksp2.md\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/google/ksp/commit/50bed184c9ac0dccb09f605a427ce502842c8ead\"\u003e\u003ccode\u003e50bed18\u003c/code\u003e\u003c/a\u003e [AGP Built in kotlin] Pass kotlin sources from variant api as they are\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e19caf04272d47d260462c39242832f86657a4c2\"\u003e\u003ccode\u003ee19caf0\u003c/code\u003e\u003c/a\u003e Simplify disk space cleanup step condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/570a03b402947910d0eec7550035d58272a83d35\"\u003e\u003ccode\u003e570a03b\u003c/code\u003e\u003c/a\u003e Remove timeout setting from GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/88f7a55f12bf351945696308aff50c2fec7d7d24\"\u003e\u003ccode\u003e88f7a55\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/23cacddd704a1863ad3c80bacf04d78c92144c8a\"\u003e\u003ccode\u003e23cacdd\u003c/code\u003e\u003c/a\u003e Don't register sources to kotlin srcDirs for android compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/7f142d3ea54f41b8548ca609975e3f89cfa106ec\"\u003e\u003ccode\u003e7f142d3\u003c/code\u003e\u003c/a\u003e Avoid recording Java symbol lookups in non-incremental builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/b4a33ae1b63d5559df5d1973416e6a29606d1e71\"\u003e\u003ccode\u003eb4a33ae\u003c/code\u003e\u003c/a\u003e Implement custom disk space cleanup script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/26efebecaaf6ad6992b68bad462b73049000459c\"\u003e\u003ccode\u003e26efebe\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/091ef64e188352af689ce82e4165d9e01acfee71\"\u003e\u003ccode\u003e091ef64\u003c/code\u003e\u003c/a\u003e Add agp compatibility tests with built in kotlin project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/57d9c240f055989be7b953813c302bb19eb37c93\"\u003e\u003ccode\u003e57d9c24\u003c/code\u003e\u003c/a\u003e Clean up threadlocals after processing\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.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.lsplugin.cmaker` from 1.2 to 1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/aepranata/KernelSU-Next/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aepranata%2FKernelSU-Next/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"}},{"old_version":"2.9.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-26T23:30:29.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"3858118141","node_id":"PR_kwDOQVG73c6_eiGZ","number":24,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-03T03:28:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-26T23:30:29.000Z","updated_at":"2026-02-03T03:28:46.000Z","time_to_close":619095,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.2.0","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.2"},{"name":"androidx.compose:compose-bom","old_version":"2025.11.00","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.kyant0:backdrop","old_version":"1.0.0","new_version":"1.0.5","repository_url":"https://github.com/Kyant0/AndroidLiquidGlass"},{"name":"org.lsposed.libcxx:libcxx","old_version":"29.0.13599879-beta2","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"top.yukonga.miuix.kmp:miuix-android","old_version":"0.6.1","new_version":"0.7.2","repository_url":"https://github.com/compose-miuix-ui/miuix"},{"name":"dev.chrisbanes.haze:haze-android","old_version":"1.6.10","new_version":"1.7.1","repository_url":"https://github.com/chrisbanes/haze"},{"name":"io.github.kyant0:capsule","old_version":"2.1.1","new_version":"2.1.3","repository_url":"https://github.com/Kyant0/Capsule"},{"name":"com.android.application","old_version":"8.12.2","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.12.2","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.0","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `9.2.0` | `9.3.0` |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.2` |\n| androidx.compose:compose-bom | `2025.11.00` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.kyant0:backdrop](https://github.com/Kyant0/AndroidLiquidGlass) | `1.0.0` | `1.0.5` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `29.0.13599879-beta2` | `29.0.14206865` |\n| [top.yukonga.miuix.kmp:miuix-android](https://github.com/compose-miuix-ui/miuix) | `0.6.1` | `0.7.2` |\n| [dev.chrisbanes.haze:haze-android](https://github.com/chrisbanes/haze) | `1.6.10` | `1.7.1` |\n| [io.github.kyant0:capsule](https://github.com/Kyant0/Capsule) | `2.1.1` | `2.1.3` |\n| com.android.application | `8.12.2` | `9.0.0` |\n| com.android.library | `8.12.2` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.0` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `gradle-wrapper` from 9.2.0 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.2\n\nUpdates `androidx.compose:compose-bom` from 2025.11.00 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.kyant0:backdrop` from 1.0.0 to 1.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/releases\"\u003eio.github.kyant0:backdrop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntegrate with \u003ca href=\"https://github.com/Kyant0/Shapes\"\u003eKyant shapes library\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.4\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix drawing may not update\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.3\u003c/h2\u003e\n\u003ch2\u003eAPI changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eHighlightStyle.Default(intensity, angle, falloff)\u003c/code\u003e, use \u003ccode\u003eHighlightStyle.Default(color, blendMode, angle, falloff)\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Kotlin to 2.3.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compose to 1.10.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix can't draw \u003ccode\u003eLayerBackdrop\u003c/code\u003e in some cases\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/Kyant0/AndroidLiquidGlass/commit/67a6771e9940013a6775f7db4ff2bbdb14aeaf08\"\u003e\u003ccode\u003e67a6771\u003c/code\u003e\u003c/a\u003e Integrate with Kyant shapes library; Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/eda9921bfae299aa0da64c7152f15b27da30c1f9\"\u003e\u003ccode\u003eeda9921\u003c/code\u003e\u003c/a\u003e [catalog] Add a Lock screen demo with SDF texture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/cf0f35d8c597c06ea8bd42ff7a48821678d74669\"\u003e\u003ccode\u003ecf0f35d\u003c/code\u003e\u003c/a\u003e Fix drawing may not update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/feccbad6e5f1d97fb717e919bfaadafec692cc65\"\u003e\u003ccode\u003efeccbad\u003c/code\u003e\u003c/a\u003e Update HighlightStyle.Default constructor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/8fe9c1828b1765349b99ea4221140afabb002454\"\u003e\u003ccode\u003e8fe9c18\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/2c3c46e5ceb196929510ebad72639090cbc74e10\"\u003e\u003ccode\u003e2c3c46e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/eed7fca895bd947ad2af53fc87279613b2e14abc\"\u003e\u003ccode\u003eeed7fca\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/Kyant0/AndroidLiquidGlass/issues/60\"\u003e#60\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/6566813f2998c5a4ec9a74b6ecd5d4fc1a3d406f\"\u003e\u003ccode\u003e6566813\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/46f17666856db797332c6e016bdc92c4610c4e0e\"\u003e\u003ccode\u003e46f1766\u003c/code\u003e\u003c/a\u003e Remove unnecessary onDrawBehind for LiquidBottomTabs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/commit/ed66ae1418b1ef61ee59cb49334b5ca2003d404d\"\u003e\u003ccode\u003eed66ae1\u003c/code\u003e\u003c/a\u003e Gradle 9.2.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/AndroidLiquidGlass/compare/1.0.0...1.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 29.0.13599879-beta2 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/29.0.13599879-beta2...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `top.yukonga.miuix.kmp:miuix-android` from 0.6.1 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/compose-miuix-ui/miuix/releases\"\u003etop.yukonga.miuix.kmp:miuix-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump com.materialkolor:material-kolor from 4.0.4 to 4.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/162\"\u003ecompose-miuix-ui/miuix#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/161\"\u003ecompose-miuix-ui/miuix#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: update error colors to match MIUI's palette by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/163\"\u003ecompose-miuix-ui/miuix#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(overscroll): Make springback effect closer to Xiaomi's native behavior. by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/164\"\u003ecompose-miuix-ui/miuix#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor RangeSlider by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(SuperDialog): Hide keyboard when dialog is dismissed by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/165\"\u003ecompose-miuix-ui/miuix#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(PullToRefresh): Replace animatable with spring physics by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/166\"\u003ecompose-miuix-ui/miuix#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Set \u003ca href=\"https://github.com/NonRestartableComposable\"\u003e\u003ccode\u003e@​NonRestartableComposable\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Refactor MiuixTheme based on androidx-main by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Cleanup MiuixIndication by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Migrate to kotlin.multiplatform.library by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add bottomAction param to BasicComponent by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Improved PredictiveBackHandler of SuperDialog by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): integrate enhanced readability plugin by \u003ca href=\"https://github.com/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/168\"\u003ecompose-miuix-ui/miuix#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: TabRow: Move the height modifier to the bottom by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update docs.yml by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/169\"\u003ecompose-miuix-ui/miuix#169\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/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\"\u003ehttps://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower minSDK to 24\u003c/li\u003e\n\u003cli\u003eAdd Monet color pick support\u003c/li\u003e\n\u003cli\u003eSupport custom keyColor in Monet color\u003c/li\u003e\n\u003cli\u003eRefactor usage of the MiuiTheme\u003c/li\u003e\n\u003cli\u003eMigrate to official BackHandler / PredictiveBackHandler\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExisting Components/APIs Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003elibrary: Migrate t official BackHandler / PredictiveBackHandler, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor MiuixTheme \u0026amp; ColorScheme, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add rightActions to SuperArrow, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc02 to 1.0.0-rc03 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/144\"\u003ecompose-miuix-ui/miuix#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add monet colors support by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/145\"\u003ecompose-miuix-ui/miuix#145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add shadow to color picker indicator and opt Spinner as Dialog by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/146\"\u003ecompose-miuix-ui/miuix#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update progress indicator background color by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/147\"\u003ecompose-miuix-ui/miuix#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update SuperSpinner colors to align with M3 by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/148\"\u003ecompose-miuix-ui/miuix#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Use onPrimary for FAB icon tint by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/150\"\u003ecompose-miuix-ui/miuix#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(ListPopup): Use \u003ccode\u003edropShadow\u003c/code\u003e for elevation by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/151\"\u003ecompose-miuix-ui/miuix#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Update FloatingToolbar color to match FloatingActionButton by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/153\"\u003ecompose-miuix-ui/miuix#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc03 to 1.0.0-rc04 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/154\"\u003ecompose-miuix-ui/miuix#154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: improve wide-screen detection by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/155\"\u003ecompose-miuix-ui/miuix#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(Overscroll): Reuse Animatable and simplify logic by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/156\"\u003ecompose-miuix-ui/miuix#156\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/compose-miuix-ui/miuix/commit/76fd5b20ad309176d1cad1270a661634f712f050\"\u003e\u003ccode\u003e76fd5b2\u003c/code\u003e\u003c/a\u003e ci: Add packages write permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/da8d2cb5e3ddb81f1ef76ed970d7ab0ccf0a39e2\"\u003e\u003ccode\u003eda8d2cb\u003c/code\u003e\u003c/a\u003e ci: update docs.yml (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/f709acfebac2f26570b1913b604a53a6249e0060\"\u003e\u003ccode\u003ef709acf\u003c/code\u003e\u003c/a\u003e library: bump version to 0.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003e\u003ccode\u003ec3a419b\u003c/code\u003e\u003c/a\u003e library: TabRow: Move the height modifier to the bottom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/02259efeb3770c41656968bac43beb09b8e7d4f9\"\u003e\u003ccode\u003e02259ef\u003c/code\u003e\u003c/a\u003e docs: Improve document content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/3f3e41768c415a23d2481e39de182a2a3d4c1430\"\u003e\u003ccode\u003e3f3e417\u003c/code\u003e\u003c/a\u003e docs: Add giscus support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/5b2665d0e189ebd74ae18415be45e5f9d5a29806\"\u003e\u003ccode\u003e5b2665d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/71e0c9d6371958a4cf338518a1b055f1b4fafaa5\"\u003e\u003ccode\u003e71e0c9d\u003c/code\u003e\u003c/a\u003e feat(docs): integrate enhanced readability plugin (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/4007f401968152e0620dff5efe7a4bde4856bdb6\"\u003e\u003ccode\u003e4007f40\u003c/code\u003e\u003c/a\u003e docs: fix errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003e\u003ccode\u003ea1f2cc2\u003c/code\u003e\u003c/a\u003e library: Improved PredictiveBackHandler of SuperDialog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.6.1...v0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.chrisbanes.haze:haze-android` from 1.6.10 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisbanes/haze/releases\"\u003edev.chrisbanes.haze:haze-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate agp to v8.13.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/817\"\u003echrisbanes/haze#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse LruCache rather than SieveCache by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/827\"\u003echrisbanes/haze#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKey dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/752\"\u003echrisbanes/haze#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/764\"\u003echrisbanes/haze#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LeakCanary to sample by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/769\"\u003echrisbanes/haze#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/773\"\u003echrisbanes/haze#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/778\"\u003echrisbanes/haze#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/779\"\u003echrisbanes/haze#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/790\"\u003echrisbanes/haze#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/791\"\u003echrisbanes/haze#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/806\"\u003echrisbanes/haze#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/807\"\u003echrisbanes/haze#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/809\"\u003echrisbanes/haze#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/810\"\u003echrisbanes/haze#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/811\"\u003echrisbanes/haze#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/812\"\u003echrisbanes/haze#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\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/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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/chrisbanes/haze/blob/main/CHANGELOG.md\"\u003edev.chrisbanes.haze:haze-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1 \u003c!-- raw HTML omitted --\u003e2025-11-24\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse LruCache rather than SieveCache in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0 \u003c!-- raw HTML omitted --\u003e2025-11-10\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKey dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/752\"\u003e#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/764\"\u003e#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/773\"\u003e#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/779\"\u003e#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/791\"\u003e#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/806\"\u003e#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/809\"\u003e#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LeakCanary to sample in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/769\"\u003e#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/778\"\u003e#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/790\"\u003e#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/807\"\u003e#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/810\"\u003e#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\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/chrisbanes/haze/commit/abf8629751e1d3028f64efe3e52976641f5618a2\"\u003e\u003ccode\u003eabf8629\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/568c5099cc93b446e5e4cb07514903809eb4b74e\"\u003e\u003ccode\u003e568c509\u003c/code\u003e\u003c/a\u003e Use LruCache rather than SieveCache (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/38c8aadc2d51ba731502e9daf46cdd8231f83fb3\"\u003e\u003ccode\u003e38c8aad\u003c/code\u003e\u003c/a\u003e Prepare for v1 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/3632bb72ec5ecd3cf6da01bad4dc0c470c4c5208\"\u003e\u003ccode\u003e3632bb7\u003c/code\u003e\u003c/a\u003e Update agp to v8.13.1 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/d433974790d1d6a48a130ad15203f1bd6556d6d7\"\u003e\u003ccode\u003ed433974\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/84a8c35148c64fbedc62216b418d17862b7c487d\"\u003e\u003ccode\u003e84a8c35\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/e052ffac6a099b75c57859ab784e27820edbb426\"\u003e\u003ccode\u003ee052ffa\u003c/code\u003e\u003c/a\u003e Update Android version references in platforms.md (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/ee21a75cc5a8cb18ab55d92b058add4d39b0c941\"\u003e\u003ccode\u003eee21a75\u003c/code\u003e\u003c/a\u003e Invalidate on position change (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/5e04e41643825254b404a14aef8d75733ec719d0\"\u003e\u003ccode\u003e5e04e41\u003c/code\u003e\u003c/a\u003e Add a common pre-draw listener (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/99d3fa4c3c5efa855c7d67790594e41d3107232c\"\u003e\u003ccode\u003e99d3fa4\u003c/code\u003e\u003c/a\u003e Update compose.multiplatform to v1.9.3 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.kyant0:capsule` from 2.1.1 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kyant0/Capsule/releases\"\u003eio.github.kyant0:capsule's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.3\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Compose to 1.10.0\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/Kyant0/Capsule/commit/2b8754ec7d706383bfdaa6e33610772e2ef4da7d\"\u003e\u003ccode\u003e2b8754e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/503266be3fae7d2f2d8401bedccd3cd1791db382\"\u003e\u003ccode\u003e503266b\u003c/code\u003e\u003c/a\u003e Add a line break\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/08ec120df3520411af4ea13523a79dedb6fdc067\"\u003e\u003ccode\u003e08ec120\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kyant0/Capsule/commit/38062915bbb850584fe6de36427df75cbffaaa89\"\u003e\u003ccode\u003e3806291\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kyant0/Capsule/compare/2.1.1...2.1.3\"\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 8.12.2 to 9.0.0\n\nUpdates `com.android.library` from 8.12.2 to 9.0.0\n\nUpdates `com.android.library` from 8.12.2 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-796...\n\n_Description has been truncated_","html_url":"https://github.com/Winkmoon/KernelSU-XinRan/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Winkmoon%2FKernelSU-XinRan/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":"2.8.7","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-26T18:27:51.000Z","version_change":"2.8.7 → 2.10.0","issue":{"uuid":"3857128464","node_id":"PR_kwDOPTkn6s6_bOmh","number":43,"state":"open","title":"build(deps): bump the maven group across 1 directory with 18 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-01-26T18:27:51.000Z","updated_at":"2026-02-02T23:23:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"8.12.1","new_version":"9.3.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.8","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.02.00","new_version":"2026.01.00"},{"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.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.12.1","new_version":"1.15.0"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.1.0-beta16","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.1.0-beta16","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"27.0.12077973","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.android.application","old_version":"8.8.2","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.8.2","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.10-1.0.31","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| gradle-wrapper | `8.12.1` | `9.3.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.8.8` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.02.00` | `2026.01.00` |\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.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.webkit:webkit | `1.12.1` | `1.15.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.1` | `1.10.2` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.1.0-beta16` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.1.0-beta16` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `27.0.12077973` | `29.0.14206865` |\n| com.android.application | `8.8.2` | `9.0.0` |\n| com.android.library | `8.8.2` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.10` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.10-1.0.31` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `gradle-wrapper` from 8.12.1 to 9.3.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.8 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.02.00 to 2026.01.00\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-viewmodel-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.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.12.1 to 1.15.0\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.10.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\u003c/blockquote\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.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\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/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.10.1...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.1.0-beta16 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issues related to KSP v2\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error messages and docs\u003c/li\u003e\n\u003cli\u003eDependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOptional result back in ON_RESUME / ON_START \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eBy default, compose destinations will call onNavResult in first opportunity between \u0026quot;onResume\u0026quot; and \u0026quot;onStart\u0026quot;. That is because in some situations, I've found that \u0026quot;onResume\u0026quot; is actually not called.\nHowever, that makes it be called mostly in \u0026quot;onStart\u0026quot;, and in some other cases it may not be ideal (see \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSo, we've introduced a new \u003ccode\u003eonNavResult\u003c/code\u003e overload that takes a parameter developers can use to choose when they want to receive the result. Example:\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e\n@Destination\u0026lt;RootGraph\u0026gt;\n@Composable\nfun MyScreen(\n    resultRecipient: ResultRecipient\u0026lt;ConfirmationScreenDestination, Boolean\u0026gt;\n) {\n\u003cpre\u003e\u003ccode\u003eresultRecipient.onNavResult(\n    deliverResultOn = OpenResultRecipient.DeliverResultOn.RESUME\n) { result -\u0026amp;gt;\n    // ...\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eBy default, if you call the overload which does not take any param here, it will use \u003ccode\u003eFIRST_OPPORTUNITY\u003c/code\u003e to not make a breaking change in behaviour here.\u003c/p\u003e\n\u003ch3\u003eNew Destination label (\u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eDestination\u003c/code\u003e annotation now has a new param \u0026quot;label\u0026quot;. This is used to set what official navigation library supports in \u003ccode\u003eNavDestination.label\u003c/code\u003e. Can be useful for monitoring, logging, etc.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e@Destination\u0026lt;RootGraph\u0026gt;(\n    label = \u0026quot;my screen label\u0026quot;\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/98fd7ba0ebc2567aa3f64279cc83b738c627b6f5\"\u003e\u003ccode\u003e98fd7ba\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/13e61b899c6485ef1ab125ffcb50e64d15c386f1\"\u003e\u003ccode\u003e13e61b8\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/dfd2781ac56c45e590f5507d280558364686efc0\"\u003e\u003ccode\u003edfd2781\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/602857d539442526e29421e1a90e4fd0bc4a6644\"\u003e\u003ccode\u003e602857d\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.1.0-beta16...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.1.0-beta16 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issues related to KSP v2\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error messages and docs\u003c/li\u003e\n\u003cli\u003eDependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOptional result back in ON_RESUME / ON_START \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eBy default, compose destinations will call onNavResult in first opportunity between \u0026quot;onResume\u0026quot; and \u0026quot;onStart\u0026quot;. That is because in some situations, I've found that \u0026quot;onResume\u0026quot; is actually not called.\nHowever, that makes it be called mostly in \u0026quot;onStart\u0026quot;, and in some other cases it may not be ideal (see \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSo, we've introduced a new \u003ccode\u003eonNavResult\u003c/code\u003e overload that takes a parameter developers can use to choose when they want to receive the result. Example:\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e\n@Destination\u0026lt;RootGraph\u0026gt;\n@Composable\nfun MyScreen(\n    resultRecipient: ResultRecipient\u0026lt;ConfirmationScreenDestination, Boolean\u0026gt;\n) {\n\u003cpre\u003e\u003ccode\u003eresultRecipient.onNavResult(\n    deliverResultOn = OpenResultRecipient.DeliverResultOn.RESUME\n) { result -\u0026amp;gt;\n    // ...\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eBy default, if you call the overload which does not take any param here, it will use \u003ccode\u003eFIRST_OPPORTUNITY\u003c/code\u003e to not make a breaking change in behaviour here.\u003c/p\u003e\n\u003ch3\u003eNew Destination label (\u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eDestination\u003c/code\u003e annotation now has a new param \u0026quot;label\u0026quot;. This is used to set what official navigation library supports in \u003ccode\u003eNavDestination.label\u003c/code\u003e. Can be useful for monitoring, logging, etc.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e@Destination\u0026lt;RootGraph\u0026gt;(\n    label = \u0026quot;my screen label\u0026quot;\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/98fd7ba0ebc2567aa3f64279cc83b738c627b6f5\"\u003e\u003ccode\u003e98fd7ba\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/13e61b899c6485ef1ab125ffcb50e64d15c386f1\"\u003e\u003ccode\u003e13e61b8\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/dfd2781ac56c45e590f5507d280558364686efc0\"\u003e\u003ccode\u003edfd2781\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/602857d539442526e29421e1a90e4fd0bc4a6644\"\u003e\u003ccode\u003e602857d\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.1.0-beta16...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.1.0-beta16 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issues related to KSP v2\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error messages and docs\u003c/li\u003e\n\u003cli\u003eDependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOptional result back in ON_RESUME / ON_START \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eBy default, compose destinations will call onNavResult in first opportunity between \u0026quot;onResume\u0026quot; and \u0026quot;onStart\u0026quot;. That is because in some situations, I've found that \u0026quot;onResume\u0026quot; is actually not called.\nHowever, that makes it be called mostly in \u0026quot;onStart\u0026quot;, and in some other cases it may not be ideal (see \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/719\"\u003e#719\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eSo, we've introduced a new \u003ccode\u003eonNavResult\u003c/code\u003e overload that takes a parameter developers can use to choose when they want to receive the result. Example:\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e\n@Destination\u0026lt;RootGraph\u0026gt;\n@Composable\nfun MyScreen(\n    resultRecipient: ResultRecipient\u0026lt;ConfirmationScreenDestination, Boolean\u0026gt;\n) {\n\u003cpre\u003e\u003ccode\u003eresultRecipient.onNavResult(\n    deliverResultOn = OpenResultRecipient.DeliverResultOn.RESUME\n) { result -\u0026amp;gt;\n    // ...\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eBy default, if you call the overload which does not take any param here, it will use \u003ccode\u003eFIRST_OPPORTUNITY\u003c/code\u003e to not make a breaking change in behaviour here.\u003c/p\u003e\n\u003ch3\u003eNew Destination label (\u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/714\"\u003e#714\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eDestination\u003c/code\u003e annotation now has a new param \u0026quot;label\u0026quot;. This is used to set what official navigation library supports in \u003ccode\u003eNavDestination.label\u003c/code\u003e. Can be useful for monitoring, logging, etc.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e@Destination\u0026lt;RootGraph\u0026gt;(\n    label = \u0026quot;my screen label\u0026quot;\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/98fd7ba0ebc2567aa3f64279cc83b738c627b6f5\"\u003e\u003ccode\u003e98fd7ba\u003c/code\u003e\u003c/a\u003e fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/13e61b899c6485ef1ab125ffcb50e64d15c386f1\"\u003e\u003ccode\u003e13e61b8\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/dfd2781ac56c45e590f5507d280558364686efc0\"\u003e\u003ccode\u003edfd2781\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/736\"\u003e#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/602857d539442526e29421e1a90e4fd0bc4a6644\"\u003e\u003ccode\u003e602857d\u003c/code\u003e\u003c/a\u003e Fixes \u003ca href=\"https://redirect.github.com/raamcosta/compose-destinations/issues/728\"\u003e#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.1.0-beta16...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 27.0.12077973 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/1e95c38b8a44aa777fdff23a361604c8dfdb1bf2\"\u003e\u003ccode\u003e1e95c38\u003c/code\u003e\u003c/a\u003e 28.1.13356709\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/9d672dd836d2ee36557b9724675b183bd7aa4a54\"\u003e\u003ccode\u003e9d672dd\u003c/code\u003e\u003c/a\u003e 27.0.12077973-1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/27.0.12077973...29.0.14206865\"\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 8.8.2 to 9.0.0\n\nUpdates `com.android.library` from 8.8.2 to 9.0.0\n\nUpdates `com.android.library` from 8.8.2 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.0\"\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.1.10-1.0.31 to 2.3.4\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.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 d...\n\n_Description has been truncated_","html_url":"https://github.com/xhgg606/https-github.com-Winkmoon-KernelSU/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xhgg606%2Fhttps-github.com-Winkmoon-KernelSU/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"}},{"old_version":"2.8.7","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-26T14:46:04.000Z","version_change":"2.8.7 → 2.10.0","issue":{"uuid":"3856279536","node_id":"PR_kwDOKmOZ086_YcVU","number":4,"state":"open","title":"Bump the androidx group with 16 updates","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-01-26T14:46:04.000Z","updated_at":"2026-01-26T14:54:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"androidx","update_count":16,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.17.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.recyclerview:recyclerview","old_version":"1.3.2","new_version":"1.4.0"},{"name":"androidx.browser:browser","old_version":"1.8.0","new_version":"1.9.0"},{"name":"androidx.constraintlayout:constraintlayout","old_version":"2.2.0","new_version":"2.2.1"},{"name":"androidx.swiperefreshlayout:swiperefreshlayout","old_version":"1.1.0","new_version":"1.2.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.0","new_version":"1.12.2"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","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.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.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.17.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.recyclerview:recyclerview | `1.3.2` | `1.4.0` |\n| androidx.browser:browser | `1.8.0` | `1.9.0` |\n| androidx.constraintlayout:constraintlayout | `2.2.0` | `2.2.1` |\n| androidx.swiperefreshlayout:swiperefreshlayout | `1.1.0` | `1.2.0` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.activity:activity-compose | `1.10.0` | `1.12.2` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.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.0` |\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.17.0\n\nUpdates `androidx.appcompat:appcompat` from 1.7.0 to 1.7.1\n\nUpdates `androidx.recyclerview:recyclerview` from 1.3.2 to 1.4.0\n\nUpdates `androidx.browser:browser` from 1.8.0 to 1.9.0\n\nUpdates `androidx.constraintlayout:constraintlayout` from 2.2.0 to 2.2.1\n\nUpdates `androidx.swiperefreshlayout:swiperefreshlayout` from 1.1.0 to 1.2.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.0 to 1.12.2\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.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.0\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/magisk317/XposedSmsCode/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/magisk317%2FXposedSmsCode/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"2.9.4","new_version":"2.10.0","update_type":"minor","path":"/manager","pr_created_at":"2026-01-21T19:48:12.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"3839771249","node_id":"PR_kwDOQ-hrIM6-iAOE","number":2,"state":"closed","title":"Bump the maven group in /manager with 16 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-28T13:17:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-21T19:48:12.000Z","updated_at":"2026-01-28T13:17:14.000Z","time_to_close":581340,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":16,"packages":[{"name":"androidx.activity:activity-compose","old_version":"1.11.0","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.5","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.10.01","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.4","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"top.yukonga.miuix.kmp:miuix-android","old_version":"0.5.2","new_version":"0.7.2","repository_url":"https://github.com/compose-miuix-ui/miuix"},{"name":"dev.chrisbanes.haze:haze-android","old_version":"1.6.10","new_version":"1.7.1","repository_url":"https://github.com/chrisbanes/haze"},{"name":"com.android.application","old_version":"8.13.0","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.13.0","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.3.0","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":"/manager","ecosystem":"maven"},"body":"Bumps the maven group in /manager with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.activity:activity-compose | `1.11.0` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.5` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.10.01` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| [top.yukonga.miuix.kmp:miuix-android](https://github.com/compose-miuix-ui/miuix) | `0.5.2` | `0.7.2` |\n| [dev.chrisbanes.haze:haze-android](https://github.com/chrisbanes/haze) | `1.6.10` | `1.7.1` |\n| com.android.application | `8.13.0` | `9.0.0` |\n| com.android.library | `8.13.0` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.0` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\nUpdates `androidx.activity:activity-compose` from 1.11.0 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.5 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.10.01 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `top.yukonga.miuix.kmp:miuix-android` from 0.5.2 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/compose-miuix-ui/miuix/releases\"\u003etop.yukonga.miuix.kmp:miuix-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump com.materialkolor:material-kolor from 4.0.4 to 4.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/162\"\u003ecompose-miuix-ui/miuix#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/161\"\u003ecompose-miuix-ui/miuix#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: update error colors to match MIUI's palette by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/163\"\u003ecompose-miuix-ui/miuix#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(overscroll): Make springback effect closer to Xiaomi's native behavior. by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/164\"\u003ecompose-miuix-ui/miuix#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor RangeSlider by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(SuperDialog): Hide keyboard when dialog is dismissed by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/165\"\u003ecompose-miuix-ui/miuix#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(PullToRefresh): Replace animatable with spring physics by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/166\"\u003ecompose-miuix-ui/miuix#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Set \u003ca href=\"https://github.com/NonRestartableComposable\"\u003e\u003ccode\u003e@​NonRestartableComposable\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Refactor MiuixTheme based on androidx-main by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Cleanup MiuixIndication by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Migrate to kotlin.multiplatform.library by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add bottomAction param to BasicComponent by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Improved PredictiveBackHandler of SuperDialog by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): integrate enhanced readability plugin by \u003ca href=\"https://github.com/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/168\"\u003ecompose-miuix-ui/miuix#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: TabRow: Move the height modifier to the bottom by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update docs.yml by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/169\"\u003ecompose-miuix-ui/miuix#169\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/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\"\u003ehttps://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower minSDK to 24\u003c/li\u003e\n\u003cli\u003eAdd Monet color pick support\u003c/li\u003e\n\u003cli\u003eSupport custom keyColor in Monet color\u003c/li\u003e\n\u003cli\u003eRefactor usage of the MiuiTheme\u003c/li\u003e\n\u003cli\u003eMigrate to official BackHandler / PredictiveBackHandler\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExisting Components/APIs Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003elibrary: Migrate t official BackHandler / PredictiveBackHandler, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor MiuixTheme \u0026amp; ColorScheme, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add rightActions to SuperArrow, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc02 to 1.0.0-rc03 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/144\"\u003ecompose-miuix-ui/miuix#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add monet colors support by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/145\"\u003ecompose-miuix-ui/miuix#145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add shadow to color picker indicator and opt Spinner as Dialog by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/146\"\u003ecompose-miuix-ui/miuix#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update progress indicator background color by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/147\"\u003ecompose-miuix-ui/miuix#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update SuperSpinner colors to align with M3 by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/148\"\u003ecompose-miuix-ui/miuix#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Use onPrimary for FAB icon tint by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/150\"\u003ecompose-miuix-ui/miuix#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(ListPopup): Use \u003ccode\u003edropShadow\u003c/code\u003e for elevation by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/151\"\u003ecompose-miuix-ui/miuix#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Update FloatingToolbar color to match FloatingActionButton by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/153\"\u003ecompose-miuix-ui/miuix#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc03 to 1.0.0-rc04 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/154\"\u003ecompose-miuix-ui/miuix#154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: improve wide-screen detection by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/155\"\u003ecompose-miuix-ui/miuix#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(Overscroll): Reuse Animatable and simplify logic by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/156\"\u003ecompose-miuix-ui/miuix#156\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/compose-miuix-ui/miuix/commit/76fd5b20ad309176d1cad1270a661634f712f050\"\u003e\u003ccode\u003e76fd5b2\u003c/code\u003e\u003c/a\u003e ci: Add packages write permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/da8d2cb5e3ddb81f1ef76ed970d7ab0ccf0a39e2\"\u003e\u003ccode\u003eda8d2cb\u003c/code\u003e\u003c/a\u003e ci: update docs.yml (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/f709acfebac2f26570b1913b604a53a6249e0060\"\u003e\u003ccode\u003ef709acf\u003c/code\u003e\u003c/a\u003e library: bump version to 0.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003e\u003ccode\u003ec3a419b\u003c/code\u003e\u003c/a\u003e library: TabRow: Move the height modifier to the bottom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/02259efeb3770c41656968bac43beb09b8e7d4f9\"\u003e\u003ccode\u003e02259ef\u003c/code\u003e\u003c/a\u003e docs: Improve document content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/3f3e41768c415a23d2481e39de182a2a3d4c1430\"\u003e\u003ccode\u003e3f3e417\u003c/code\u003e\u003c/a\u003e docs: Add giscus support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/5b2665d0e189ebd74ae18415be45e5f9d5a29806\"\u003e\u003ccode\u003e5b2665d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/71e0c9d6371958a4cf338518a1b055f1b4fafaa5\"\u003e\u003ccode\u003e71e0c9d\u003c/code\u003e\u003c/a\u003e feat(docs): integrate enhanced readability plugin (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/4007f401968152e0620dff5efe7a4bde4856bdb6\"\u003e\u003ccode\u003e4007f40\u003c/code\u003e\u003c/a\u003e docs: fix errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003e\u003ccode\u003ea1f2cc2\u003c/code\u003e\u003c/a\u003e library: Improved PredictiveBackHandler of SuperDialog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.5.2...v0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.chrisbanes.haze:haze-android` from 1.6.10 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisbanes/haze/releases\"\u003edev.chrisbanes.haze:haze-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate agp to v8.13.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/817\"\u003echrisbanes/haze#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse LruCache rather than SieveCache by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/827\"\u003echrisbanes/haze#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKey dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/752\"\u003echrisbanes/haze#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/764\"\u003echrisbanes/haze#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LeakCanary to sample by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/769\"\u003echrisbanes/haze#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/773\"\u003echrisbanes/haze#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/778\"\u003echrisbanes/haze#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/779\"\u003echrisbanes/haze#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/790\"\u003echrisbanes/haze#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/791\"\u003echrisbanes/haze#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/806\"\u003echrisbanes/haze#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/807\"\u003echrisbanes/haze#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/809\"\u003echrisbanes/haze#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/810\"\u003echrisbanes/haze#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/811\"\u003echrisbanes/haze#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/812\"\u003echrisbanes/haze#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\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/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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/chrisbanes/haze/blob/main/CHANGELOG.md\"\u003edev.chrisbanes.haze:haze-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1 \u003c!-- raw HTML omitted --\u003e2025-11-24\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse LruCache rather than SieveCache in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0 \u003c!-- raw HTML omitted --\u003e2025-11-10\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKey dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/752\"\u003e#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/764\"\u003e#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/773\"\u003e#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/779\"\u003e#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/791\"\u003e#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/806\"\u003e#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/809\"\u003e#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LeakCanary to sample in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/769\"\u003e#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/778\"\u003e#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/790\"\u003e#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/807\"\u003e#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/810\"\u003e#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\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/chrisbanes/haze/commit/abf8629751e1d3028f64efe3e52976641f5618a2\"\u003e\u003ccode\u003eabf8629\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/568c5099cc93b446e5e4cb07514903809eb4b74e\"\u003e\u003ccode\u003e568c509\u003c/code\u003e\u003c/a\u003e Use LruCache rather than SieveCache (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/38c8aadc2d51ba731502e9daf46cdd8231f83fb3\"\u003e\u003ccode\u003e38c8aad\u003c/code\u003e\u003c/a\u003e Prepare for v1 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/3632bb72ec5ecd3cf6da01bad4dc0c470c4c5208\"\u003e\u003ccode\u003e3632bb7\u003c/code\u003e\u003c/a\u003e Update agp to v8.13.1 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/d433974790d1d6a48a130ad15203f1bd6556d6d7\"\u003e\u003ccode\u003ed433974\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/84a8c35148c64fbedc62216b418d17862b7c487d\"\u003e\u003ccode\u003e84a8c35\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/e052ffac6a099b75c57859ab784e27820edbb426\"\u003e\u003ccode\u003ee052ffa\u003c/code\u003e\u003c/a\u003e Update Android version references in platforms.md (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/ee21a75cc5a8cb18ab55d92b058add4d39b0c941\"\u003e\u003ccode\u003eee21a75\u003c/code\u003e\u003c/a\u003e Invalidate on position change (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/5e04e41643825254b404a14aef8d75733ec719d0\"\u003e\u003ccode\u003e5e04e41\u003c/code\u003e\u003c/a\u003e Add a common pre-draw listener (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/99d3fa4c3c5efa855c7d67790594e41d3107232c\"\u003e\u003ccode\u003e99d3fa4\u003c/code\u003e\u003c/a\u003e Update compose.multiplatform to v1.9.3 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.1\"\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 8.13.0 to 9.0.0\n\nUpdates `com.android.library` from 8.13.0 to 9.0.0\n\nUpdates `com.android.library` from 8.13.0 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-825...\n\n_Description has been truncated_","html_url":"https://github.com/potatochickfula-arch/ff/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/potatochickfula-arch%2Fff/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"2.9.1","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-21T18:50:26.000Z","version_change":"2.9.1 → 2.10.0","issue":{"uuid":"3839583387","node_id":"PR_kwDOPJsUF86-hXj4","number":99,"state":"closed","title":"Bump the maven group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-26T20:31:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-21T18:50:26.000Z","updated_at":"2026-01-26T20:31:42.000Z","time_to_close":438075,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":20,"packages":[{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.0","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.06.00","new_version":"2026.01.00"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","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.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"com.github.MMRLApp.MMRL:webui","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.github.MMRLApp.MMRL:platform","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.github.MMRLApp.MMRL:ui","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.github.MMRLApp.MMRL:hidden-api","old_version":"2bb00b3c2b","new_version":"v5.30.42"},{"name":"com.android.application","old_version":"8.10.1","new_version":"9.0.0"},{"name":"com.android.library","old_version":"8.10.1","new_version":"9.0.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.1.21-2.0.2","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 20 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.0` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.06.00` | `2026.01.00` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.1` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| com.github.MMRLApp.MMRL:webui | `2bb00b3c2b` | `v5.30.42` |\n| com.github.MMRLApp.MMRL:platform | `2bb00b3c2b` | `v5.30.42` |\n| com.github.MMRLApp.MMRL:ui | `2bb00b3c2b` | `v5.30.42` |\n| com.github.MMRLApp.MMRL:hidden-api | `2bb00b3c2b` | `v5.30.42` |\n| com.android.application | `8.10.1` | `9.0.0` |\n| com.android.library | `8.10.1` | `9.0.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.21` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.1.21-2.0.2` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.0 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.06.00 to 2026.01.00\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.1 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.MMRLApp.MMRL:webui` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:platform` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:ui` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:hidden-api` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:platform` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:ui` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.github.MMRLApp.MMRL:hidden-api` from 2bb00b3c2b to v5.30.42\n\nUpdates `com.android.application` from 8.10.1 to 9.0.0\n\nUpdates `com.android.library` from 8.10.1 to 9.0.0\n\nUpdates `com.android.library` from 8.10.1 to 9.0.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.21...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.21 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.21...v2.3.0\"\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.1.21-2.0.2 to 2.3.4\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.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\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This release is a hotfix for a regression introduced in 2.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where KSP incorrectly processed specific nullable annotations from Java interfaces, leading to incorrect nullability in the generated Kotlin code \u003ca href=\"https://redirect.github.com/google/ksp/issues/2696\"\u003e#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a regression introduced in \u003ca href=\"https://redirect.github.com/google/ksp/issues/2656\"\u003e#2656\u003c/a\u003e that caused runtime failures for projects using AGP 8.8.0 and older due to an incompatible, version-specific type check. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2694\"\u003e#2694\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.1...2.3.2\"\u003ehttps://github.com/google/ksp/compare/2.3.1...2.3.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for AGP 9.0 and built-in Kotlin \u003ca href=\"https://redirect.github.com/google/ksp/issues/2674\"\u003e#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug in getJvmCheckedException that incorrectly handled nested classes. \u003ca href=\"https://redirect.github.com/google/ksp/issues/2584\"\u003e#2584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved incorrect caching for KSValueArgumentLiteImpl that wrongly merged arguments with different parents, origins, or locations \u003ca href=\"https://redirect.github.com/google/ksp/issues/2677\"\u003e#2677\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who reported bugs and participated in discussions!\n\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/ksp/compare/2.3.0...2.3.1\"\u003ehttps://github.com/google/ksp/compare/2.3.0...2.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKSP1 has been deprecated[ \u003ca href=\"https://redirect.github.com/google/ksp/issues/2657\"\u003e#2657\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/ksp/pull/2657\"\u003egoogle/ksp#2657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKSP version is no longer tied to the Kotlin compiler version (moving away from the old \u003c!-- raw HTML omitted --\u003e-\u003c!-- raw HTML omitted --\u003e format). \u003ca href=\"https://redirect.github.com/google/ksp/issues/2658\"\u003e#2658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKSP is no longer a compiler plugin (like KSP1). It now operates as a more standalone tool built on stable compiler APIs (shared with tools like IntelliJ).\u003c/li\u003e\n\u003cli\u003eKSP now has fewer limitations on the Kotlin version in use and allows the KSP team to provide better compatibility to KGP/AGP/Gradle\u003c/li\u003e\n\u003cli\u003eRead more about KSP2: \u003ca href=\"https://github.com/google/ksp/blob/main/docs/ksp2.md\"\u003ehttps://github.com/google/ksp/blob/main/docs/ksp2.md\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/google/ksp/commit/50bed184c9ac0dccb09f605a427ce502842c8ead\"\u003e\u003ccode\u003e50bed18\u003c/code\u003e\u003c/a\u003e [AGP Built in kotlin] Pass kotlin sources from variant api as they are\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e19caf04272d47d260462c39242832f86657a4c2\"\u003e\u003ccode\u003ee19caf0\u003c/code\u003e\u003c/a\u003e Simplify disk space cleanup step condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/570a03b402947910d0eec7550035d58272a83d35\"\u003e\u003ccode\u003e570a03b\u003c/code\u003e\u003c/a\u003e Remove timeout setting from GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/88f7a55f12bf351945696308aff50c2fec7d7d24\"\u003e\u003ccode\u003e88f7a55\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/23cacddd704a1863ad3c80bacf04d78c92144c8a\"\u003e\u003ccode\u003e23cacdd\u003c/code\u003e\u003c/a\u003e Don't register sources to kotlin srcDirs for android compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/7f142d3ea54f41b8548ca609975e3f89cfa106ec\"\u003e\u003ccode\u003e7f142d3\u003c/code\u003e\u003c/a\u003e Avoid recording Java symbol lookups in non-incremental builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/b4a33ae1b63d5559df5d1973416e6a29606d1e71\"\u003e\u003ccode\u003eb4a33ae\u003c/code\u003e\u003c/a\u003e Implement custom disk space cleanup script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/26efebecaaf6ad6992b68bad462b73049000459c\"\u003e\u003ccode\u003e26efebe\u003c/code\u003e\u003c/a\u003e Add disk space cleanup step for Ubuntu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/091ef64e188352af689ce82e4165d9e01acfee71\"\u003e\u003ccode\u003e091ef64\u003c/code\u003e\u003c/a\u003e Add agp compatibility tests with built in kotlin project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/57d9c240f055989be7b953813c302bb19eb37c93\"\u003e\u003ccode\u003e57d9c24\u003c/code\u003e\u003c/a\u003e Clean up threadlocals after processing\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/ksp/compare/2.1.21-2.0.2...2.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.lsplugin.cmaker` from 1.2 to 1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/LSPlugin/commits\"\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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/duli95/KernelSU-Next1/pull/99","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/duli95%2FKernelSU-Next1/issues/99","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/99/packages"}},{"old_version":"2.8.7","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-12T12:10:55.000Z","version_change":"2.8.7 → 2.10.0","issue":{"uuid":"3804054288","node_id":"PR_kwDOQjpZ1c68r76v","number":74,"state":"closed","title":"Bump the androidx group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-21T10:03:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-12T12:10:55.000Z","updated_at":"2026-03-21T10:03:21.000Z","time_to_close":5867544,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"androidx","update_count":20,"packages":[{"name":"androidx.core:core-ktx","old_version":"1.15.0","new_version":"1.17.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","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.lifecycle:lifecycle-process","old_version":"2.8.7","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.12.2"},{"name":"androidx.compose:compose-bom","old_version":"2024.12.01","new_version":"2025.12.01"},{"name":"androidx.tv:tv-foundation","old_version":"1.0.0-alpha11","new_version":"1.0.0-alpha12"},{"name":"androidx.tv:tv-material","old_version":"1.0.0","new_version":"1.0.1"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.5","new_version":"2.9.6"},{"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.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.0","new_version":"2.11.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"}],"path":null,"ecosystem":"maven"},"body":"Bumps the androidx group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.core:core-ktx | `1.15.0` | `1.17.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.8.7` | `2.10.0` |\n| androidx.lifecycle:lifecycle-process | `2.8.7` | `2.10.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.12.2` |\n| androidx.compose:compose-bom | `2024.12.01` | `2025.12.01` |\n| androidx.tv:tv-foundation | `1.0.0-alpha11` | `1.0.0-alpha12` |\n| androidx.tv:tv-material | `1.0.0` | `1.0.1` |\n| androidx.navigation:navigation-compose | `2.8.5` | `2.9.6` |\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.0` |\n| androidx.work:work-runtime-ktx | `2.10.0` | `2.11.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\n\nUpdates `androidx.core:core-ktx` from 1.15.0 to 1.17.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-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.lifecycle:lifecycle-process` from 2.8.7 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.12.2\n\nUpdates `androidx.compose:compose-bom` from 2024.12.01 to 2025.12.01\n\nUpdates `androidx.tv:tv-foundation` from 1.0.0-alpha11 to 1.0.0-alpha12\n\nUpdates `androidx.tv:tv-material` from 1.0.0 to 1.0.1\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.5 to 2.9.6\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.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.0\n\nUpdates `androidx.work:work-runtime-ktx` from 2.10.0 to 2.11.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.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\n\nYou can trigger a rebase of this PR 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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.","html_url":"https://github.com/rommapp/argosy-launcher/pull/74","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rommapp%2Fargosy-launcher/issues/74","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/74/packages"}},{"old_version":"2.9.3","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-01-12T04:05:48.000Z","version_change":"2.9.3 → 2.10.0","issue":{"uuid":"3802689330","node_id":"PR_kwDOPq18ds68nYky","number":49,"state":"closed","title":"build(deps): bump the maven group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-26T03:59:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-12T04:05:48.000Z","updated_at":"2026-01-26T03:59:21.000Z","time_to_close":1209212,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven","update_count":18,"packages":[{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.2"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.3","new_version":"2.9.6"},{"name":"androidx.compose:compose-bom","old_version":"2025.08.01","new_version":"2025.12.01"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.webkit:webkit","old_version":"1.14.0","new_version":"1.15.0"},{"name":"io.github.raamcosta.compose-destinations:core","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"io.github.raamcosta.compose-destinations:ksp","old_version":"2.2.0","new_version":"2.3.0","repository_url":"https://github.com/raamcosta/compose-destinations"},{"name":"org.lsposed.libcxx:libcxx","old_version":"28.1.13356709","new_version":"29.0.14206865","repository_url":"https://github.com/LSPosed/prefab-libcxx"},{"name":"top.yukonga.miuix.kmp:miuix","old_version":"0.5.1","new_version":"0.7.2","repository_url":"https://github.com/compose-miuix-ui/miuix"},{"name":"dev.chrisbanes.haze:haze","old_version":"1.6.10","new_version":"1.7.1","repository_url":"https://github.com/chrisbanes/haze"},{"name":"com.android.application","old_version":"8.12.2","new_version":"8.13.2"},{"name":"com.android.library","old_version":"8.12.2","new_version":"8.13.2"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.2.10-2.0.2","new_version":"2.3.4","repository_url":"https://github.com/google/ksp"},{"name":"org.lsposed.lsplugin.cmaker","old_version":"1.2","new_version":"1.3","repository_url":"https://github.com/LSPosed/LSPlugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the /manager directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |\n| androidx.navigation:navigation-compose | `2.9.3` | `2.9.6` |\n| androidx.compose:compose-bom | `2025.08.01` | `2025.12.01` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-compose | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.3` | `2.10.0` |\n| androidx.webkit:webkit | `1.14.0` | `1.15.0` |\n| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |\n| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |\n| [top.yukonga.miuix.kmp:miuix](https://github.com/compose-miuix-ui/miuix) | `0.5.1` | `0.7.2` |\n| [dev.chrisbanes.haze:haze](https://github.com/chrisbanes/haze) | `1.6.10` | `1.7.1` |\n| com.android.application | `8.12.2` | `8.13.2` |\n| com.android.library | `8.12.2` | `8.13.2` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.10-2.0.2` | `2.3.4` |\n| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |\n\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.3 to 2.9.6\n\nUpdates `androidx.compose:compose-bom` from 2025.08.01 to 2025.12.01\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.webkit:webkit` from 1.14.0 to 1.15.0\n\nUpdates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raamcosta/compose-destinations/releases\"\u003eio.github.raamcosta.compose-destinations:ksp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch1\u003eMain changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Compose to 1.9, compose jetpack navigation and Kotlin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ehttps://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\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/raamcosta/compose-destinations/commit/de18a87967f313ec5ef36106237da6e02d002098\"\u003e\u003ccode\u003ede18a87\u003c/code\u003e\u003c/a\u003e migration to central portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/33e5dfe0f7dc4332d7f1889f89f0e4c738148518\"\u003e\u003ccode\u003e33e5dfe\u003c/code\u003e\u003c/a\u003e fix lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/d72e67b88e651473d5216e008f15b6be45ce1970\"\u003e\u003ccode\u003ed72e67b\u003c/code\u003e\u003c/a\u003e update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/5029370060f9090be13a34589e3372e53e0369d7\"\u003e\u003ccode\u003e5029370\u003c/code\u003e\u003c/a\u003e update viewmodel factory stuff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/772147c74c582a6c72df9b1019198550578d8e34\"\u003e\u003ccode\u003e772147c\u003c/code\u003e\u003c/a\u003e update compose 1.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raamcosta/compose-destinations/commit/34a138134b053bc588554e46bcdf360f8210f3d6\"\u003e\u003ccode\u003e34a1381\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/raamcosta/compose-destinations/compare/2.2.0...2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/730cd7634f78c9b3bea0330e5a3b79d456679b30\"\u003e\u003ccode\u003e730cd76\u003c/code\u003e\u003c/a\u003e 29.0.14206865\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/de88339d58d17714adc0975d67c11d30cbd4040e\"\u003e\u003ccode\u003ede88339\u003c/code\u003e\u003c/a\u003e 29.0.13599879-beta2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LSPosed/prefab-libcxx/commit/64befa95e35cb195368c63193e95f46cdb35ce3c\"\u003e\u003ccode\u003e64befa9\u003c/code\u003e\u003c/a\u003e 29.0.13113456-beta1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/LSPosed/prefab-libcxx/compare/28.1.13356709...29.0.14206865\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `top.yukonga.miuix.kmp:miuix` from 0.5.1 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/compose-miuix-ui/miuix/releases\"\u003etop.yukonga.miuix.kmp:miuix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump com.materialkolor:material-kolor from 4.0.4 to 4.0.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/162\"\u003ecompose-miuix-ui/miuix#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/161\"\u003ecompose-miuix-ui/miuix#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: update error colors to match MIUI's palette by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/163\"\u003ecompose-miuix-ui/miuix#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(overscroll): Make springback effect closer to Xiaomi's native behavior. by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/164\"\u003ecompose-miuix-ui/miuix#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor RangeSlider by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/294a605e16beba3fa9997f9988452cba06faefa8\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(SuperDialog): Hide keyboard when dialog is dismissed by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/165\"\u003ecompose-miuix-ui/miuix#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(PullToRefresh): Replace animatable with spring physics by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/166\"\u003ecompose-miuix-ui/miuix#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Set \u003ca href=\"https://github.com/NonRestartableComposable\"\u003e\u003ccode\u003e@​NonRestartableComposable\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/26cdce464aefb946306409551ac889bbdf2e0e63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Refactor MiuixTheme based on androidx-main by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/6b322b297d4aa3fe5a86f9f872027a3f79455026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Cleanup MiuixIndication by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/eaa553736b0b23680034e7de39a1139d6449790d\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Migrate to kotlin.multiplatform.library by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/b36b92ef25ac7d17a14753ee4f16263590a318e7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add bottomAction param to BasicComponent by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/97d2fbae1aa886117375bbf7fc0bd8b7ad5e02a0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Improved PredictiveBackHandler of SuperDialog by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): integrate enhanced readability plugin by \u003ca href=\"https://github.com/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/168\"\u003ecompose-miuix-ui/miuix#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: TabRow: Move the height modifier to the bottom by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update docs.yml by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/169\"\u003ecompose-miuix-ui/miuix#169\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/YumeYuka\"\u003e\u003ccode\u003e@​YumeYuka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/167\"\u003ecompose-miuix-ui/miuix#167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\"\u003ehttps://github.com/compose-miuix-ui/miuix/compare/v0.7.1...v0.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLower minSDK to 24\u003c/li\u003e\n\u003cli\u003eAdd Monet color pick support\u003c/li\u003e\n\u003cli\u003eSupport custom keyColor in Monet color\u003c/li\u003e\n\u003cli\u003eRefactor usage of the MiuiTheme\u003c/li\u003e\n\u003cli\u003eMigrate to official BackHandler / PredictiveBackHandler\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExisting Components/APIs Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003elibrary: Migrate t official BackHandler / PredictiveBackHandler, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/8e8e615c70445ce7c170d07af822afd6cd9bceee\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: refactor MiuixTheme \u0026amp; ColorScheme, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e9291564c7363c724ab8871abbffbd38c0a26efb\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/e08501c4e8aadcf6985de1156ab33fc195c475bc\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add rightActions to SuperArrow, see \u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\"\u003ehttps://github.com/compose-miuix-ui/miuix/commit/c3b712eb61545b77fa5f706e43a04f4f531e00f0\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc02 to 1.0.0-rc03 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/144\"\u003ecompose-miuix-ui/miuix#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Add monet colors support by \u003ca href=\"https://github.com/YuKongA\"\u003e\u003ccode\u003e@​YuKongA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/145\"\u003ecompose-miuix-ui/miuix#145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: add shadow to color picker indicator and opt Spinner as Dialog by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/146\"\u003ecompose-miuix-ui/miuix#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update progress indicator background color by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/147\"\u003ecompose-miuix-ui/miuix#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elibrary: Update SuperSpinner colors to align with M3 by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/148\"\u003ecompose-miuix-ui/miuix#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Use onPrimary for FAB icon tint by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/150\"\u003ecompose-miuix-ui/miuix#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(ListPopup): Use \u003ccode\u003edropShadow\u003c/code\u003e for elevation by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/151\"\u003ecompose-miuix-ui/miuix#151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: Update FloatingToolbar color to match FloatingActionButton by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/153\"\u003ecompose-miuix-ui/miuix#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump org.jetbrains.compose.hot-reload from 1.0.0-rc03 to 1.0.0-rc04 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/154\"\u003ecompose-miuix-ui/miuix#154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexample: improve wide-screen detection by \u003ca href=\"https://github.com/wxxsfxyzm\"\u003e\u003ccode\u003e@​wxxsfxyzm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/155\"\u003ecompose-miuix-ui/miuix#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(Overscroll): Reuse Animatable and simplify logic by \u003ca href=\"https://github.com/HChenX\"\u003e\u003ccode\u003e@​HChenX\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/pull/156\"\u003ecompose-miuix-ui/miuix#156\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/compose-miuix-ui/miuix/commit/76fd5b20ad309176d1cad1270a661634f712f050\"\u003e\u003ccode\u003e76fd5b2\u003c/code\u003e\u003c/a\u003e ci: Add packages write permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/da8d2cb5e3ddb81f1ef76ed970d7ab0ccf0a39e2\"\u003e\u003ccode\u003eda8d2cb\u003c/code\u003e\u003c/a\u003e ci: update docs.yml (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/f709acfebac2f26570b1913b604a53a6249e0060\"\u003e\u003ccode\u003ef709acf\u003c/code\u003e\u003c/a\u003e library: bump version to 0.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/c3a419bf5d312a2d96cbff711d56df3f60492781\"\u003e\u003ccode\u003ec3a419b\u003c/code\u003e\u003c/a\u003e library: TabRow: Move the height modifier to the bottom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/02259efeb3770c41656968bac43beb09b8e7d4f9\"\u003e\u003ccode\u003e02259ef\u003c/code\u003e\u003c/a\u003e docs: Improve document content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/3f3e41768c415a23d2481e39de182a2a3d4c1430\"\u003e\u003ccode\u003e3f3e417\u003c/code\u003e\u003c/a\u003e docs: Add giscus support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/5b2665d0e189ebd74ae18415be45e5f9d5a29806\"\u003e\u003ccode\u003e5b2665d\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/71e0c9d6371958a4cf338518a1b055f1b4fafaa5\"\u003e\u003ccode\u003e71e0c9d\u003c/code\u003e\u003c/a\u003e feat(docs): integrate enhanced readability plugin (\u003ca href=\"https://redirect.github.com/compose-miuix-ui/miuix/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/4007f401968152e0620dff5efe7a4bde4856bdb6\"\u003e\u003ccode\u003e4007f40\u003c/code\u003e\u003c/a\u003e docs: fix errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/compose-miuix-ui/miuix/commit/a1f2cc2bb0a875137439bee1cf43d192fbf03508\"\u003e\u003ccode\u003ea1f2cc2\u003c/code\u003e\u003c/a\u003e library: Improved PredictiveBackHandler of SuperDialog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/compose-miuix-ui/miuix/compare/v0.5.1...v0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.chrisbanes.haze:haze` from 1.6.10 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chrisbanes/haze/releases\"\u003edev.chrisbanes.haze:haze's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate agp to v8.13.1 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/817\"\u003echrisbanes/haze#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse LruCache rather than SieveCache by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/827\"\u003echrisbanes/haze#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKey dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/752\"\u003echrisbanes/haze#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/764\"\u003echrisbanes/haze#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd LeakCanary to sample by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/769\"\u003echrisbanes/haze#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/773\"\u003echrisbanes/haze#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/778\"\u003echrisbanes/haze#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/779\"\u003echrisbanes/haze#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/790\"\u003echrisbanes/haze#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/791\"\u003echrisbanes/haze#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/806\"\u003echrisbanes/haze#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/807\"\u003echrisbanes/haze#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/809\"\u003echrisbanes/haze#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/810\"\u003echrisbanes/haze#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/811\"\u003echrisbanes/haze#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change by \u003ca href=\"https://github.com/chrisbanes\"\u003e\u003ccode\u003e@​chrisbanes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/812\"\u003echrisbanes/haze#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\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/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/pull/814\"\u003echrisbanes/haze#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\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/chrisbanes/haze/blob/main/CHANGELOG.md\"\u003edev.chrisbanes.haze:haze's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.7.1 \u003c!-- raw HTML omitted --\u003e2025-11-24\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse LruCache rather than SieveCache in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\"\u003ehttps://github.com/chrisbanes/haze/compare/1.7.0...1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.7.0 \u003c!-- raw HTML omitted --\u003e2025-11-10\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;1.7.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🆕 \u003ccode\u003eforceInvalidateOnPreDraw\u003c/code\u003e parameter on \u003ccode\u003eHazeEffectScope\u003c/code\u003e (\u003ca href=\"https://chrisbanes.github.io/haze/latest/api/haze/dev.chrisbanes.haze/-haze-effect-scope/force-invalidate-on-pre-draw.html\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized noise texture handling on Android\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when we need to use them\u003c/li\u003e\n\u003cli\u003eThis should be the last of the v1.x releases (barring any blocking issues which crop up).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKey dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin 2.2.20\u003c/li\u003e\n\u003cli\u003eCompose Multiplatform 1.9.3\u003c/li\u003e\n\u003cli\u003eJetpack Compose 1.9.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency updates in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/752\"\u003e#752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workaround for Kotlin Yarn errors in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/764\"\u003e#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump compile and min SDK versions in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/773\"\u003e#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize areas and area offsets in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/779\"\u003e#779\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompose 1.9.x and Kotlin 2.2.20 in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/791\"\u003e#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce screenshot test thresholds in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/806\"\u003e#806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly enable pre-draw listeners when necessary in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/809\"\u003e#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a common pre-draw listener in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalidate on position change in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Android version references in platforms.md by \u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LeakCanary to sample in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/769\"\u003e#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Android] Optimize noise texture in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/778\"\u003e#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable Kotlin explicit API in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/790\"\u003e#790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce expandLayerBounds flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/807\"\u003e#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd forceInvalidateOnPreDraw flag in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/810\"\u003e#810\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XIVIX134\"\u003e\u003ccode\u003e@​XIVIX134\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\"\u003ehttps://github.com/chrisbanes/haze/compare/1.6.10...1.7.0\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/chrisbanes/haze/commit/abf8629751e1d3028f64efe3e52976641f5618a2\"\u003e\u003ccode\u003eabf8629\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/568c5099cc93b446e5e4cb07514903809eb4b74e\"\u003e\u003ccode\u003e568c509\u003c/code\u003e\u003c/a\u003e Use LruCache rather than SieveCache (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/38c8aadc2d51ba731502e9daf46cdd8231f83fb3\"\u003e\u003ccode\u003e38c8aad\u003c/code\u003e\u003c/a\u003e Prepare for v1 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/3632bb72ec5ecd3cf6da01bad4dc0c470c4c5208\"\u003e\u003ccode\u003e3632bb7\u003c/code\u003e\u003c/a\u003e Update agp to v8.13.1 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/817\"\u003e#817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/d433974790d1d6a48a130ad15203f1bd6556d6d7\"\u003e\u003ccode\u003ed433974\u003c/code\u003e\u003c/a\u003e Prepare next development version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/84a8c35148c64fbedc62216b418d17862b7c487d\"\u003e\u003ccode\u003e84a8c35\u003c/code\u003e\u003c/a\u003e Prepare for release 1.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/e052ffac6a099b75c57859ab784e27820edbb426\"\u003e\u003ccode\u003ee052ffa\u003c/code\u003e\u003c/a\u003e Update Android version references in platforms.md (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/814\"\u003e#814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/ee21a75cc5a8cb18ab55d92b058add4d39b0c941\"\u003e\u003ccode\u003eee21a75\u003c/code\u003e\u003c/a\u003e Invalidate on position change (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/5e04e41643825254b404a14aef8d75733ec719d0\"\u003e\u003ccode\u003e5e04e41\u003c/code\u003e\u003c/a\u003e Add a common pre-draw listener (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chrisbanes/haze/commit/99d3fa4c3c5efa855c7d67790594e41d3107232c\"\u003e\u003ccode\u003e99d3fa4\u003c/code\u003e\u003c/a\u003e Update compose.multiplatform to v1.9.3 (\u003ca href=\"https://redirect.github.com/chrisbanes/haze/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chrisbanes/haze/compare/1.6.10...1.7.1\"\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 8.12.2 to 8.13.2\n\nUpdates `com.android.library` from 8.12.2 to 8.13.2\n\nUpdates `com.android.library` from 8.12.2 to 8.13.2\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\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/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\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-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\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-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\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.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\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccod...\n\n_Description has been truncated_","html_url":"https://github.com/RarogCmex/xiaomi-kenzo-kernel-shadowsong-kernelsu/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RarogCmex%2Fxiaomi-kenzo-kernel-shadowsong-kernelsu/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}}]}