{"id":1935,"name":"com.android.library","ecosystem":"maven","repository_url":null,"issues_count":1557,"created_at":"2025-06-06T15:01:53.089Z","updated_at":"2025-06-06T15:01:53.089Z","purl":"pkg:maven/com.android.library","unique_repositories_count":313,"unique_repositories_count_past_30_days":3,"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":"4490487031","node_id":"PR_kwDOEAMm887duo2w","number":459,"state":"closed","title":"Bump the android group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","minor","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-08T20:37:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T23:08:00.000Z","updated_at":"2026-06-08T20:37:51.000Z","time_to_close":1632589,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"android","update_count":3,"packages":[{"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":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android group with 3 updates in the / directory: [com.google.android.material:material](https://github.com/material-components/material-components-android), com.android.application and com.android.library.\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 `com.android.application` from 9.2.0 to 9.2.1\n\nUpdates `com.android.library` from 9.2.0 to 9.2.1\n\nUpdates `com.android.library` from 9.2.0 to 9.2.1","html_url":"https://github.com/openziti/ziti-tunnel-android/pull/459","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/openziti%2Fziti-tunnel-android/issues/459","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/459/packages"},{"uuid":"4466001958","node_id":"PR_kwDOOSllGs7cfg-X","number":75,"state":"open","title":"Bump the libs group across 1 directory with 19 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-05-18T03:18:19.000Z","updated_at":"2026-05-18T03:19:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":19,"packages":[{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-core","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-cbor","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.android.library","old_version":"8.12.2","new_version":"9.2.1"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.5.1"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.5.1` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-core](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-cbor](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [org.jetbrains.kotlin.multiplatform](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| com.android.library | `8.12.2` | `9.2.1` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n| com.diffplug.spotless | `8.4.0` | `8.5.1` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.2` |\n\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.5.1\"\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-core` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-core'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-core'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-kmp-statium/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"},{"uuid":"4417748347","node_id":"PR_kwDOOSllGs7aF179","number":74,"state":"closed","title":"Bump the libs group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-18T03:14:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T02:54:04.000Z","updated_at":"2026-05-18T03:14:23.000Z","time_to_close":606017,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-core","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-cbor","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.android.library","old_version":"8.12.2","new_version":"9.2.1"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.5.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-core](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-cbor](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [org.jetbrains.kotlin.multiplatform](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| com.android.library | `8.12.2` | `9.2.1` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.2` |\n\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.5.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-core` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-core'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-core'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arb\nitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.corou...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium/pull/74","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-kmp-statium/issues/74","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/74/packages"},{"uuid":"4417435612","node_id":"PR_kwDOR_lcus7aE4Vp","number":62,"state":"closed","title":"chore(deps): Bump the android-minor-patch group in /android with 8 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T01:19:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T01:19:29.000Z","updated_at":"2026-05-11T01:19:54.000Z","time_to_close":18,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"android-minor-patch","update_count":8,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.00"},{"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":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"com.android.tools.build:gradle","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"}],"path":"/android","ecosystem":"maven"},"body":"Bumps the android-minor-patch group in /android with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.00` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| com.android.tools.build:gradle | `9.2.0` | `9.2.1` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.library | `9.2.0` | `9.2.1` |\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.00\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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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 `org.jetbrains.kotlinx:kotlinx-coroutines-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\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.jetbrains.kotlinx:kotlinx-coroutines-play-services` 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-play-services'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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-play-services'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.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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.jetbrains.kotlinx:kotlinx-coroutines-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error hand...\n\n_Description has been truncated_","html_url":"https://github.com/perezjoseph/Gestion-inmobiliaria/pull/62","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/perezjoseph%2FGestion-inmobiliaria/issues/62","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/62/packages"},{"uuid":"4413666246","node_id":"PR_kwDOSYEU4c7Z5rtK","number":5,"state":"open","title":"chore(deps): bump the pkg group across 1 directory with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-09T19:50:16.000Z","updated_at":"2026-05-10T00:23:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pkg","update_count":10,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.00"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"5.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"5.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"5.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-launcher","old_version":"1.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.legacy-kapt","old_version":"9.2.0","new_version":"9.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the pkg group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.00` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.14.4` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `5.14.4` | `6.0.3` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `5.14.4` | `6.0.3` |\n| [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit-framework) | `1.14.4` | `6.0.3` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.library | `9.2.0` | `9.2.1` |\n| com.android.legacy-kapt | `9.2.0` | `9.2.1` |\n\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.00\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.platform:junit-platform-launcher` from 1.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.platform:junit-platform-launcher's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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\u003eSee full diff in \u003ca href=\"https://github.com/junit-team/junit-framework/commits/r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\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.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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/iss...\n\n_Description has been truncated_","html_url":"https://github.com/anchildress1/vestige/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anchildress1%2Fvestige/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4410940799","node_id":"PR_kwDORwOWxc7ZxIXd","number":6,"state":"closed","title":"Bump the dependencies group across 1 directory with 109 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-06-13T03:14:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-09T03:38:12.000Z","updated_at":"2026-06-13T03:14:04.000Z","time_to_close":3022550,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":109,"packages":[{"name":"gradle-wrapper","old_version":"8.14.2","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.android.application","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.2.0-2.0.2","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.2.0-2.0.2","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-annotation-processing-embeddable","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-compiler-embeddable","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib-jdk8","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"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":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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.jetbrains.kotlinx:kotlinx-coroutines-swing","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"com.google.protobuf:protobuf-gradle-plugin","old_version":"0.9.5","new_version":"0.10.0","repository_url":"https://github.com/google/protobuf-gradle-plugin"},{"name":"com.google.protobuf","old_version":"0.9.5","new_version":"0.10.0"},{"name":"androidx.datastore:datastore","old_version":"1.1.7","new_version":"1.2.1"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.8","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"uk.kulikov.detekt.decompose:decompose-detekt-rules","old_version":"1.0.1","new_version":"2.0.0","repository_url":"https://github.com/LionZXY/detekt-decompose-rule"},{"name":"androidx.core:core-splashscreen","old_version":"1.1.0-rc01","new_version":"1.2.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.13.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.compose.ui:ui","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.compose.foundation:foundation","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.compose.material:material","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.wear.compose:compose-material","old_version":"1.4.1","new_version":"1.6.1"},{"name":"androidx.wear.compose:compose-foundation","old_version":"1.4.1","new_version":"1.6.1"},{"name":"com.google.android.horologist:horologist-compose-layout","old_version":"0.6.23","new_version":"0.7.15","repository_url":"https://github.com/google/horologist"},{"name":"tech.annexflow.compose:constraintlayout-compose-multiplatform","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/lavmee/constraintlayout-compose-multiplatform"},{"name":"androidx.paging:paging-compose","old_version":"3.3.6","new_version":"3.5.0"},{"name":"org.jetbrains.compose:compose-gradle-plugin","old_version":"1.8.2","new_version":"1.10.3","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"io.coil-kt.coil3:coil","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-svg","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-ktor3","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"com.vladsch.flexmark:flexmark","old_version":"0.42.14","new_version":"0.64.8","repository_url":"https://github.com/vsch/flexmark-java"},{"name":"com.mikepenz:multiplatform-markdown-renderer","old_version":"0.35.0","new_version":"0.40.2","repository_url":"https://github.com/mikepenz/multiplatform-markdown-renderer"},{"name":"androidx.room:room-runtime","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.7.2","new_version":"2.8.4"},{"name":"com.google.dagger:dagger","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:dagger-compiler","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"me.gulya.anvil:annotations","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"me.gulya.anvil:compiler","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"dev.zacsweers.anvil:annotations","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-api","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-utils","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:gradle-plugin","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"io.sentry:sentry-android","old_version":"8.16.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-timber","old_version":"8.16.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-gradle-plugin","old_version":"5.8.0","new_version":"6.6.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"net.lingala.zip4j:zip4j","old_version":"2.11.5","new_version":"2.11.6","repository_url":"https://github.com/srikanth-lingala/zip4j"},{"name":"ly.count.android:sdk","old_version":"25.4.2","new_version":"26.1.2","repository_url":"https://github.com/Countly/countly-sdk-android"},{"name":"org.slf4j:slf4j-api","old_version":"1.7.36","new_version":"2.0.17"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.18.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-runtime","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-service","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-testing","old_version":"2.9.1","new_version":"2.10.0"},{"name":"it.unimi.dsi:fastutil","old_version":"8.5.16","new_version":"8.5.18","repository_url":"https://github.com/vigna/fastutil"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.16.0","new_version":"1.18.0"},{"name":"io.ktor:ktor-client-android","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-codec:commons-codec","old_version":"1.18.0","new_version":"1.22.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"no.nordicsemi.android:ble","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"no.nordicsemi.android:ble-common","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"com.fazecast:jSerialComm","old_version":"2.11.2","new_version":"2.11.4","repository_url":"https://github.com/Fazecast/jSerialComm"},{"name":"com.airbnb.android:lottie-compose","old_version":"6.6.7","new_version":"6.7.1","repository_url":"https://github.com/airbnb/lottie-android"},{"name":"com.google.protobuf:protobuf-kotlin-lite","old_version":"4.31.1","new_version":"4.34.1"},{"name":"com.google.protobuf:protoc","old_version":"4.31.1","new_version":"4.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"org.mockito.kotlin:mockito-kotlin","old_version":"5.4.0","new_version":"6.3.0","repository_url":"https://github.com/mockito/mockito-kotlin"},{"name":"org.robolectric:robolectric","old_version":"4.15.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"io.mockk:mockk","old_version":"1.14.4","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.benchmark:benchmark-macro-junit4","old_version":"1.3.4","new_version":"1.4.1"},{"name":"androidx.wear:wear","old_version":"1.3.0","new_version":"1.4.0"},{"name":"com.google.android.gms:play-services-wearable","old_version":"19.0.0","new_version":"20.0.1"},{"name":"androidx.wear:wear-remote-interactions","old_version":"1.1.0","new_version":"1.2.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.2","new_version":"2.11.2"},{"name":"com.google.firebase:firebase-messaging","old_version":"24.1.2","new_version":"25.0.2","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.arkivanov.decompose:decompose","old_version":"3.3.0","new_version":"3.5.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"com.arkivanov.decompose:extensions-compose","old_version":"3.3.0","new_version":"3.5.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"net.engawapg.lib:zoomable","old_version":"2.8.1","new_version":"2.11.1","repository_url":"https://github.com/usuiat/Zoomable"},{"name":"com.squareup.okio:okio","old_version":"3.14.0","new_version":"3.17.0","repository_url":"https://github.com/square/okio"},{"name":"com.squareup.okio:okio-fakefilesystem","old_version":"3.14.0","new_version":"3.17.0","repository_url":"https://github.com/square/okio"},{"name":"com.google.gms.google-services","old_version":"4.4.3","new_version":"4.4.4"},{"name":"androidx.baselineprofile","old_version":"1.3.4","new_version":"1.4.1"},{"name":"com.github.gmazzo.buildconfig","old_version":"5.6.7","new_version":"6.0.9","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.squareup.wire","old_version":"5.3.3","new_version":"6.2.0","repository_url":"https://github.com/square/wire"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 109 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.2` | `9.5.0` |\n| com.android.tools.build:gradle | `8.11.0` | `9.2.1` |\n| com.android.application | `8.11.0` | `9.2.1` |\n| com.android.library | `8.11.0` | `9.2.1` |\n| com.android.test | `8.11.0` | `9.2.1` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.7` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.7` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-annotation-processing-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-compiler-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib-jdk8](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-swing](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.0` | `0.8.0` |\n| [com.google.protobuf:protobuf-gradle-plugin](https://github.com/google/protobuf-gradle-plugin) | `0.9.5` | `0.10.0` |\n| com.google.protobuf | `0.9.5` | `0.10.0` |\n| androidx.datastore:datastore | `1.1.7` | `1.2.1` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.8` |\n| [uk.kulikov.detekt.decompose:decompose-detekt-rules](https://github.com/LionZXY/detekt-decompose-rule) | `1.0.1` | `2.0.0` |\n| androidx.core:core-splashscreen | `1.1.0-rc01` | `1.2.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.13.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| androidx.compose.ui:ui | `1.8.3` | `1.11.1` |\n| androidx.compose.ui:ui-tooling | `1.8.3` | `1.11.1` |\n| androidx.compose.foundation:foundation | `1.8.3` | `1.11.1` |\n| androidx.compose.material:material | `1.8.3` | `1.11.1` |\n| androidx.wear.compose:compose-material | `1.4.1` | `1.6.1` |\n| androidx.wear.compose:compose-foundation | `1.4.1` | `1.6.1` |\n| [com.google.android.horologist:horologist-compose-layout](https://github.com/google/horologist) | `0.6.23` | `0.7.15` |\n| [tech.annexflow.compose:constraintlayout-compose-multiplatform](https://github.com/lavmee/constraintlayout-compose-multiplatform) | `0.6.0` | `0.7.0` |\n| androidx.paging:paging-compose | `3.3.6` | `3.5.0` |\n| [org.jetbrains.compose:compose-gradle-plugin](https://github.com/JetBrains/compose-jb) | `1.8.2` | `1.10.3` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-svg](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-ktor3](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [com.vladsch.flexmark:flexmark](https://github.com/vsch/flexmark-java) | `0.42.14` | `0.64.8` |\n| [com.mikepenz:multiplatform-markdown-renderer](https://github.com/mikepenz/multiplatform-markdown-renderer) | `0.35.0` | `0.40.2` |\n| androidx.room:room-runtime | `2.7.2` | `2.8.4` |\n| androidx.room:room-compiler | `2.7.2` | `2.8.4` |\n| androidx.room:room-ktx | `2.7.2` | `2.8.4` |\n| [com.google.dagger:dagger](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [com.google.dagger:dagger-compiler](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [me.gulya.anvil:annotations](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [me.gulya.anvil:compiler](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [dev.zacsweers.anvil:annotations](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:compiler-api](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:compiler](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:compiler-utils](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:gradle-plugin](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.41.0` |\n| [io.sentry:sentry-android-timber](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.41.0` |\n| [io.sentry:sentry-android-gradle-plugin](https://github.com/getsentry/sentry-android-gradle-plugin) | `5.8.0` | `6.6.0` |\n| [net.lingala.zip4j:zip4j](https://github.com/srikanth-lingala/zip4j) | `2.11.5` | `2.11.6` |\n| [ly.count.android:sdk](https://github.com/Countly/countly-sdk-android) | `25.4.2` | `26.1.2` |\n| org.slf4j:slf4j-api | `1.7.36` | `2.0.17` |\n| androidx.core:core-ktx | `1.16.0` | `1.18.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-runtime | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-service | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-testing | `2.9.1` | `2.10.0` |\n| [it.unimi.dsi:fastutil](https://github.com/vigna/fastutil) | `8.5.16` | `8.5.18` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.core:core | `1.16.0` | `1.18.0` |\n| [io.ktor:ktor-client-android](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.18.0` | `1.22.0` |\n| [no.nordicsemi.android:ble](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [no.nordicsemi.android:ble-common](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [com.fazecast:jSerialComm](https://github.com/Fazecast/jSerialComm) | `2.11.2` | `2.11.4` |\n| [com.airbnb.android:lottie-compose](https://github.com/airbnb/lottie-android) | `6.6.7` | `6.7.1` |\n| com.google.protobuf:protobuf-kotlin-lite | `4.31.1` | `4.34.1` |\n| [com.google.protobuf:protoc](https://github.com/protocolbuffers/protobuf) | `4.31.1` | `4.34.1` |\n| [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) | `5.4.0` | `6.3.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.15.1` | `4.16.1` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.4` | `1.14.9` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.benchmark:benchmark-macro-junit4 | `1.3.4` | `1.4.1` |\n| androidx.wear:wear | `1.3.0` | `1.4.0` |\n| com.google.android.gms:play-services-wearable | `19.0.0` | `20.0.1` |\n| androidx.wear:wear-remote-interactions | `1.1.0` | `1.2.0` |\n| androidx.work:work-runtime-ktx | `2.10.2` | `2.11.2` |\n| [com.google.firebase:firebase-messaging](https://github.com/firebase/firebase-android-sdk) | `24.1.2` | `25.0.2` |\n| [com.arkivanov.decompose:decompose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.5.0` |\n| [com.arkivanov.decompose:extensions-compose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.5.0` |\n| [net.engawapg.lib:zoomable](https://github.com/usuiat/Zoomable) | `2.8.1` | `2.11.1` |\n| [com.squareup.okio:okio](https://github.com/square/okio) | `3.14.0` | `3.17.0` |\n| [com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio) | `3.14.0` | `3.17.0` |\n| com.google.gms.google-services | `4.4.3` | `4.4.4` |\n| androidx.baselineprofile | `1.3.4` | `1.4.1` |\n| [com.github.gmazzo.buildconfig](https://github.com/gmazzo/gradle-buildconfig-plugin) | `5.6.7` | `6.0.9` |\n| [com.squareup.wire](https://github.com/square/wire) | `5.3.3` | `6.2.0` |\n\n\nUpdates `gradle-wrapper` from 8.14.2 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.2...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.11.0 to 9.2.1\n\nUpdates `com.android.application` from 8.11.0 to 9.2.1\n\nUpdates `com.android.library` from 8.11.0 to 9.2.1\n\nUpdates `com.android.test` from 8.11.0 to 9.2.1\n\nUpdates `com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin` from 2.2.0-2.0.2 to 2.3.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped Kotlin target language version to 2.3 (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed crash caused by upstream dependency (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2856\"\u003e#2856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed support for Gradle Isolated Projects (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2844\"\u003e#2844\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.6...2.3.7\"\u003ehttps://github.com/google/ksp/compare/2.3.6...2.3.7\u003c/a\u003e\u003c/p\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/94f210494fd59326857aeed4723947a042a7dd70\"\u003e\u003ccode\u003e94f2104\u003c/code\u003e\u003c/a\u003e Move AnnotationResolutionStrategy-related files to common dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/98fb4c77c9a5076f231f4ab584cc91707f5cbd22\"\u003e\u003ccode\u003e98fb4c7\u003c/code\u003e\u003c/a\u003e Add infrastructure for declaring test annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/25c30c398cb16a71c4cde9e3ee8b08c9e6feed7f\"\u003e\u003ccode\u003e25c30c3\u003c/code\u003e\u003c/a\u003e Update test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/cd0eb1996f1267997d7053de4e94c65fd852120e\"\u003e\u003ccode\u003ecd0eb19\u003c/code\u003e\u003c/a\u003e Update AnnotationsInDependenciesProcessor output with line numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a7d8da2fd11c9bcd1f092cb8a22f5de1baceb46\"\u003e\u003ccode\u003e1a7d8da\u003c/code\u003e\u003c/a\u003e Fix crash in \u003ccode\u003ePsiResolutionStrategy\u003c/code\u003e for annotations with nullable fqn (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2864\"\u003e#2864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/3a5f8660cd3cc40f2622e10277a9878a5195c8d2\"\u003e\u003ccode\u003e3a5f866\u003c/code\u003e\u003c/a\u003e Remove KtEntry type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0b3b39e1020a25c8d6b61d3921de794e3d550fde\"\u003e\u003ccode\u003e0b3b39e\u003c/code\u003e\u003c/a\u003e Update codeowners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/8b309d5592a9bb82d8d436f5a4daac1cde9535b8\"\u003e\u003ccode\u003e8b309d5\u003c/code\u003e\u003c/a\u003e Add more information to error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/f50f2f73a7330b01b3f7215a8843edd1193abdb5\"\u003e\u003ccode\u003ef50f2f7\u003c/code\u003e\u003c/a\u003e Add comment on performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e142fd7ec3db1ba6a4f048e24d58a5cfa8ad5a14\"\u003e\u003ccode\u003ee142fd7\u003c/code\u003e\u003c/a\u003e Handle missing cases in CollectAnnotatedSymbolsPsiVisitor\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.7\"\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.7\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.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped Kotlin target language version to 2.3 (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed crash caused by upstream dependency (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2856\"\u003e#2856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed support for Gradle Isolated Projects (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2844\"\u003e#2844\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.6...2.3.7\"\u003ehttps://github.com/google/ksp/compare/2.3.6...2.3.7\u003c/a\u003e\u003c/p\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/94f210494fd59326857aeed4723947a042a7dd70\"\u003e\u003ccode\u003e94f2104\u003c/code\u003e\u003c/a\u003e Move AnnotationResolutionStrategy-related files to common dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/98fb4c77c9a5076f231f4ab584cc91707f5cbd22\"\u003e\u003ccode\u003e98fb4c7\u003c/code\u003e\u003c/a\u003e Add infrastructure for declaring test annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/25c30c398cb16a71c4cde9e3ee8b08c9e6feed7f\"\u003e\u003ccode\u003e25c30c3\u003c/code\u003e\u003c/a\u003e Update test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/cd0eb1996f1267997d7053de4e94c65fd852120e\"\u003e\u003ccode\u003ecd0eb19\u003c/code\u003e\u003c/a\u003e Update AnnotationsInDependenciesProcessor output with line numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a7d8da2fd11c9bcd1f092cb8a22f5de1baceb46\"\u003e\u003ccode\u003e1a7d8da\u003c/code\u003e\u003c/a\u003e Fix crash in \u003ccode\u003ePsiResolutionStrategy\u003c/code\u003e for annotations with nullable fqn (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2864\"\u003e#2864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/3a5f8660cd3cc40f2622e10277a9878a5195c8d2\"\u003e\u003ccode\u003e3a5f866\u003c/code\u003e\u003c/a\u003e Remove KtEntry type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0b3b39e1020a25c8d6b61d3921de794e3d550fde\"\u003e\u003ccode\u003e0b3b39e\u003c/code\u003e\u003c/a\u003e Update codeowners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/8b309d5592a9bb82d8d436f5a4daac1cde9535b8\"\u003e\u003ccode\u003e8b309d5\u003c/code\u003e\u003c/a\u003e Add more information to error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/f50f2f73a7330b01b3f7215a8843edd1193abdb5\"\u003e\u003ccode\u003ef50f2f7\u003c/code\u003e\u003c/a\u003e Add comment on performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e142fd7ec3db1ba6a4f048e24d58a5cfa8ad5a14\"\u003e\u003ccode\u003ee142fd7\u003c/code\u003e\u003c/a\u003e Handle missing cases in CollectAnnotatedSymbolsPsiVisitor\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.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-annotation-processing-embeddable` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-annotation-processing-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-annotation-processing-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-compiler-embeddable` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-compiler-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-compiler-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/...\n\n_Description has been truncated_","html_url":"https://github.com/BIBLETUM/FlipperAppKekw/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIBLETUM%2FFlipperAppKekw/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4409481213","node_id":"PR_kwDOSYNDU87ZsQmk","number":1,"state":"closed","title":"Bump the maven-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-15T23:57:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T21:23:24.000Z","updated_at":"2026-05-15T23:57:18.000Z","time_to_close":614032,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven-dependencies","update_count":5,"packages":[{"name":"gradle-wrapper","old_version":"9.0.0","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.18.0"},{"name":"com.android.application","old_version":"8.13.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"8.13.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.0.0` | `9.5.0` |\n| androidx.core:core-ktx | `1.17.0` | `1.18.0` |\n| com.android.application | `8.13.0` | `9.2.1` |\n| com.android.library | `8.13.0` | `9.2.1` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n\n\nUpdates `gradle-wrapper` from 9.0.0 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.0.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.18.0\n\nUpdates `com.android.application` from 8.13.0 to 9.2.1\n\nUpdates `com.android.library` from 8.13.0 to 9.2.1\n\nUpdates `com.android.library` from 8.13.0 to 9.2.1\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/TanakaLun/Fuck-In-okio/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanakaLun%2FFuck-In-okio/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"},{"uuid":"4409318670","node_id":"PR_kwDOSP0HYc7Zrt1l","number":3,"state":"closed","title":"Bump the maven group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T20:47:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T20:52:24.000Z","updated_at":"2026-06-08T20:47:42.000Z","time_to_close":2678116,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":21,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.1"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.1"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.1"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"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":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.0` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.1` |\n| com.android.library | `8.13.1` | `9.2.1` |\n| com.android.application | `8.13.1` | `9.2.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.1\n\nUpdates `com.android.library` from 8.13.1 to 9.2.1\n\nUpdates `com.android.application` from 8.13.1 to 9.2.1\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\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.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes 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/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e 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/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters 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/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. 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/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. 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/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\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/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\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.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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:kotlin-stdlib` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/Prasanthch1976/Vector-migrated-java23-20260429-170846/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prasanthch1976%2FVector-migrated-java23-20260429-170846/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4374365811","node_id":"PR_kwDOJrlti87X5L9i","number":76,"state":"open","title":"Bump the maven-dependencies group with 9 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-05-04T06:11:20.000Z","updated_at":"2026-05-04T06:11:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven-dependencies","update_count":9,"packages":[{"name":"gradle-wrapper","old_version":"8.6","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.18.0"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.13.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.13.0"},{"name":"com.android.application","old_version":"8.10.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.10.1","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.1.21","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.21","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.21","new_version":"2.3.21"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.6` | `9.5.0` |\n| androidx.core:core-ktx | `1.16.0` | `1.18.0` |\n| androidx.activity:activity | `1.10.1` | `1.13.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.13.0` |\n| com.android.application | `8.10.1` | `9.2.0` |\n| com.android.library | `8.10.1` | `9.2.0` |\n| org.jetbrains.kotlin.multiplatform | `2.1.21` | `2.3.21` |\n| org.jetbrains.kotlin.android | `2.1.21` | `2.3.21` |\n| org.jetbrains.kotlin.plugin.serialization | `2.1.21` | `2.3.21` |\n\nUpdates `gradle-wrapper` from 8.6 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.6.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.16.0 to 1.18.0\n\nUpdates `androidx.activity:activity` from 1.10.1 to 1.13.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.13.0\n\nUpdates `com.android.application` from 8.10.1 to 9.2.0\n\nUpdates `com.android.library` from 8.10.1 to 9.2.0\n\nUpdates `com.android.library` from 8.10.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.21 to 2.3.21\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/ohyooo/KMM/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohyooo%2FKMM/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"},{"uuid":"4368412880","node_id":"PR_kwDORRiXc87Xngi8","number":71,"state":"open","title":"chore(deps): bump com.android.library from 8.7.3 to 9.2.0 in /android","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-02T08:09:50.000Z","updated_at":"2026-05-02T08:11:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"com.android.library","old_version":"8.7.3","new_version":"9.2.0","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps com.android.library from 8.7.3 to 9.2.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.library\u0026package-manager=gradle\u0026previous-version=8.7.3\u0026new-version=9.2.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/mp0rta/mqvpn/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mp0rta%2Fmqvpn/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"},{"uuid":"4340266835","node_id":"PR_kwDOQHtkp87WL5HG","number":70,"state":"closed","title":"build(deps): bump the version-updates group with 7 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-05T03:23:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-28T02:58:06.000Z","updated_at":"2026-05-05T03:23:46.000Z","time_to_close":606338,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"version-updates","update_count":7,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.03.01","new_version":"2026.04.01"},{"name":"com.android.application","old_version":"9.1.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"9.1.1","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.20","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.20","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.20","new_version":"2.3.21"}],"path":null,"ecosystem":"maven"},"body":"Bumps the version-updates group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.03.01` | `2026.04.01` |\n| com.android.application | `9.1.1` | `9.2.0` |\n| com.android.library | `9.1.1` | `9.2.0` |\n| org.jetbrains.kotlin.android | `2.3.20` | `2.3.21` |\n| org.jetbrains.kotlin.plugin.compose | `2.3.20` | `2.3.21` |\n| org.jetbrains.kotlin.plugin.serialization | `2.3.20` | `2.3.21` |\n| org.jetbrains.kotlin.jvm | `2.3.20` | `2.3.21` |\n\nUpdates `androidx.compose:compose-bom` from 2026.03.01 to 2026.04.01\n\nUpdates `com.android.application` from 9.1.1 to 9.2.0\n\nUpdates `com.android.library` from 9.1.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\nUpdates `com.android.library` from 9.1.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\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/oneQAQone/QFun/pull/70","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneQAQone%2FQFun/issues/70","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/70/packages"},{"uuid":"4328266207","node_id":"PR_kwDORVRHzs7VmYFz","number":116,"state":"open","title":"chore(deps): Bump the android-dependencies group across 1 directory with 16 updates","user":"dependabot[bot]","labels":["dependencies","android"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T13:51:40.000Z","updated_at":"2026-05-02T15:00:48.491Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"android-dependencies","update_count":16,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.03.01","new_version":"2026.04.01"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"io.ktor:ktor-server-core","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-cio","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-websockets","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"com.google.guava:guava","old_version":"33.5.0-android","new_version":"33.6.0-android","repository_url":"https://github.com/google/guava"},{"name":"com.android.tools.build:gradle","old_version":"9.1.0","new_version":"9.2.0"},{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.0"},{"name":"com.android.library","old_version":"9.1.0","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.3.6","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.3.6","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-dependencies group with 16 updates in the /android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.03.01` | `2026.04.01` |\n| androidx.navigation:navigation-compose | `2.9.7` | `2.9.8` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-cio](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-websockets](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [com.google.guava:guava](https://github.com/google/guava) | `33.5.0-android` | `33.6.0-android` |\n| com.android.tools.build:gradle | `9.1.0` | `9.2.0` |\n| com.android.application | `9.1.0` | `9.2.0` |\n| com.android.library | `9.1.0` | `9.2.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.3.6` | `2.3.7` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.6` | `2.3.7` |\n\n\nUpdates `androidx.compose:compose-bom` from 2026.03.01 to 2026.04.01\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.7 to 2.9.8\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\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.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes 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/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e 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/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters 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/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. 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/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. 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/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\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/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\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.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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.4.2 to 3.4.3\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.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/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.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-cio` from 3.4.2 to 3.4.3\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-cio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-cio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-websockets` from 3.4.2 to 3.4.3\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-websockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-websockets's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-cio` from 3.4.2 to 3.4.3\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-cio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-cio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-websockets` from 3.4.2 to 3.4.3\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-websockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-websockets's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.guava:guava` from 33.5.0-android to 33.6.0-android\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/guava/releases\"\u003ecom.google.guava:guava's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e33.6.0\u003c/h2\u003e\n\u003ch3\u003eMaven\u003c/h3\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e\u0026lt;dependency\u0026gt;\r\n  \u0026lt;groupId\u0026gt;com.google.guava\u0026lt;/groupId\u0026gt;\r\n  \u0026lt;artifactId\u0026gt;guava\u0026lt;/artifactId\u0026gt;\r\n  \u0026lt;version\u0026gt;33.6.0-jre\u0026lt;/version\u0026gt;\r\n  \u0026lt;!-- or, for Android: --\u0026gt;\r\n  \u0026lt;version\u0026gt;33.6.0-android\u0026lt;/version\u0026gt;\r\n\u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eJar files\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://repo1.maven.org/maven2/com/google/guava/guava/33.6.0-jre/guava-33.6.0-jre.jar\"\u003e33.6.0-jre.jar\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://repo1.maven.org/maven2/com/google/guava/guava/33.6.0-android/guava-33.6.0-android.jar\"\u003e33.6.0-android.jar\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGuava requires \u003ca href=\"https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies\"\u003eone runtime dependency\u003c/a\u003e, which you can download here:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3.jar\"\u003efailureaccess-1.0.3.jar\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavadoc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-jre/api/docs/\"\u003e33.6.0-jre\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-android/api/docs/\"\u003e33.6.0-android\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJDiff\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-jre/api/diffs/\"\u003e33.6.0-jre vs. 33.5.0-jre\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-android/api/diffs/\"\u003e33.6.0-android vs. 33.5.0-android\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-android/api/androiddiffs/\"\u003e33.6.0-android vs. 33.6.0-jre\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated some classes from \u003ccode\u003efinalize()\u003c/code\u003e to \u003ccode\u003ePhantomReference\u003c/code\u003e in preparation for \u003ca href=\"https://openjdk.org/jeps/421\"\u003ethe removal of finalization\u003c/a\u003e. (786b619dd6, 7c6b17c, aeef90988d)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecache\u003c/code\u003e: Deprecated \u003ccode\u003eCacheBuilder\u003c/code\u003e APIs that use \u003ccode\u003eTimeUnit\u003c/code\u003e in favor of those that use \u003ccode\u003eDuration\u003c/code\u003e. (73f8b0bb84)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecollect\u003c/code\u003e: Added \u003ccode\u003etoImmutableSortedMap\u003c/code\u003e collectors that use the natural comparator. (64d70b9f94)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecollect\u003c/code\u003e: Changed \u003ccode\u003eConcurrentHashMultiset\u003c/code\u003e, \u003ccode\u003eImmutableMap\u003c/code\u003e and \u003ccode\u003eTreeMultiset\u003c/code\u003e deserialization to \u003ca href=\"https://openjdk.org/jeps/500\"\u003eavoid mutating \u003ccode\u003efinal\u003c/code\u003e fields\u003c/a\u003e. In extremely unlikely scenarios in which an instance of that type contains an object that refers back to that instance, this could lead to \u003ca href=\"https://docs.oracle.com/en/java/javase/26/docs/specs/serialization/input.html#the-readresolve-method:~:text=in%20cases%20where%20an%20object%20being%20serialized%20nominates%20a%20replacement%20object%20whose%20object%20graph%20has%20a%20reference%20to%20the%20original%20object\"\u003ea broken instance\u003c/a\u003e that throws \u003ccode\u003eNullPointerException\u003c/code\u003e when used. (8240c7e596, 046468055f)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egraph\u003c/code\u003e: Removed \u003ccode\u003e@Beta\u003c/code\u003e from all APIs in the package. (dae9566b73)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egraph\u003c/code\u003e: Added support to \u003ccode\u003eGraphs.transitiveClosure()\u003c/code\u003e for different strategies for adding self-loops. (2e13df25b2)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egraph\u003c/code\u003e: Added an \u003ccode\u003easNetwork()\u003c/code\u003e view to \u003ccode\u003eGraph\u003c/code\u003e and \u003ccode\u003eValueGraph\u003c/code\u003e. (909c593c61)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehash\u003c/code\u003e: Added \u003ccode\u003eBloomFilter.serializedSize()\u003c/code\u003e. (df9bcc251a)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enet\u003c/code\u003e: Added \u003ccode\u003eHttpHeaders.CDN_CACHE_CONTROL\u003c/code\u003e. (75331b5030)\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\u003eSee full diff in \u003ca href=\"https://github.com/google/guava/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 9.1.0 to 9.2.0\n\nUpdates `com.android.application` from 9.1.0 to 9.2.0\n\nUpdates `com.android.library` from 9.1.0 to 9.2.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:compose-compiler-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;...\n\n_Description has been truncated_","html_url":"https://github.com/Hiosdra/OpenAnchor/pull/116","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiosdra%2FOpenAnchor/issues/116","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/116/packages"},{"uuid":"4320757874","node_id":"PR_kwDORlLPI87VOFjH","number":10,"state":"closed","title":"Bump the maven group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T06:19:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T05:31:42.000Z","updated_at":"2026-05-11T06:19:28.000Z","time_to_close":1471664,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":19,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.0` |\n| com.android.library | `8.13.1` | `9.2.0` |\n| com.android.application | `8.13.1` | `9.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.0\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\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.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes 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/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e 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/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters 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/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. 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/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. 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/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\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/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\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.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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:kotlin-stdlib` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrai...\n\n_Description has been truncated_","html_url":"https://github.com/Kaviarasia/LSPosed-migrated-java17-20260312-180138/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaviarasia%2FLSPosed-migrated-java17-20260312-180138/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4313084001","node_id":"PR_kwDOR9z6tM7U1ABe","number":5,"state":"closed","title":"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-04-24T02:37:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T02:41:07.000Z","updated_at":"2026-04-24T02:37:54.000Z","time_to_close":86205,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.0` |\n| com.android.library | `8.13.1` | `9.2.0` |\n| com.android.application | `8.13.1` | `9.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.0\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.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:kotlin-stdlib` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `com.ncorti.ktfmt.gradle` from 0.25.0 to 0.26.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 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 ...\n\n_Description has been truncated_","html_url":"https://github.com/Rhythm312/LSPOSED/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rhythm312%2FLSPOSED/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4311749881","node_id":"PR_kwDORl2Bo87UwvUO","number":9,"state":"closed","title":"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-04-23T20:38:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-22T20:41:47.000Z","updated_at":"2026-04-23T20:38:23.000Z","time_to_close":86194,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.0` |\n| com.android.library | `8.13.1` | `9.2.0` |\n| com.android.application | `8.13.1` | `9.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.0\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.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:kotlin-stdlib` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `com.ncorti.ktfmt.gradle` from 0.25.0 to 0.26.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 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 ...\n\n_Description has been truncated_","html_url":"https://github.com/Kaviarasia/LSPosed-migrated-java22-20260313-114436/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaviarasia%2FLSPosed-migrated-java22-20260313-114436/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4297175971","node_id":"PR_kwDORN4Tks7UBetV","number":24,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T16:27:12.000Z","updated_at":"2026-04-25T06:06:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":13,"packages":[{"name":"com.android.library","old_version":"9.1.0","new_version":"9.1.1"},{"name":"com.android.application","old_version":"9.1.0","new_version":"9.1.1"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.twilio.sdk:twilio","old_version":"11.3.6","new_version":"11.4.0","repository_url":"https://github.com/twilio/twilio-java"},{"name":"io.sentry:sentry-spring-boot-4","old_version":"8.37.1","new_version":"8.39.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"io.insert-koin:koin-core","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-compose","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-test","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"com.google.firebase:firebase-bom","old_version":"34.11.0","new_version":"34.12.0"},{"name":"io.sentry:sentry-android","old_version":"8.37.1","new_version":"8.39.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.livekit:livekit-android","old_version":"2.24.0","new_version":"2.24.1","repository_url":"https://github.com/livekit/client-sdk-android"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.library | `9.1.0` | `9.1.1` |\n| com.android.application | `9.1.0` | `9.1.1` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.10.0` | `1.11.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [com.twilio.sdk:twilio](https://github.com/twilio/twilio-java) | `11.3.6` | `11.4.0` |\n| [io.sentry:sentry-spring-boot-4](https://github.com/getsentry/sentry-java) | `8.37.1` | `8.39.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| [io.insert-koin:koin-core](https://github.com/InsertKoinIO/koin) | `4.2.0` | `4.2.1` |\n| [io.insert-koin:koin-compose](https://github.com/InsertKoinIO/koin) | `4.2.0` | `4.2.1` |\n| [io.insert-koin:koin-test](https://github.com/InsertKoinIO/koin) | `4.2.0` | `4.2.1` |\n| com.google.firebase:firebase-bom | `34.11.0` | `34.12.0` |\n| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.37.1` | `8.39.1` |\n| [io.livekit:livekit-android](https://github.com/livekit/client-sdk-android) | `2.24.0` | `2.24.1` |\n\n\nUpdates `com.android.library` from 9.1.0 to 9.1.1\n\nUpdates `com.android.application` from 9.1.0 to 9.1.1\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.10.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.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\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.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\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.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.10.0...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.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\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/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\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/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.twilio.sdk:twilio` from 11.3.6 to 11.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/twilio/twilio-java/releases\"\u003ecom.twilio.sdk:twilio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003cstrong\u003eRelease Notes\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Chore\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/949\"\u003e#949\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/949\"\u003etwilio/twilio-java#949\u003c/a\u003e): add ISO8601Serializer. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/948\"\u003e#948\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/948\"\u003etwilio/twilio-java#948\u003c/a\u003e): add page without meta. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Feature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/947\"\u003e#947\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/947\"\u003etwilio/twilio-java#947\u003c/a\u003e): Added ResourceDeleter. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTwiml\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebackgroundNoiseReduction\u003c/code\u003e, \u003ccode\u003espeechTimeout\u003c/code\u003e, \u003ccode\u003edeepgramSmartFormat\u003c/code\u003e, \u003ccode\u003eignoreBackchannel\u003c/code\u003e, \u003ccode\u003eevents\u003c/code\u003e attributes to \u003ccode\u003e\u0026lt;ConversationRelay\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eApi\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnabled incoming phone numbers(IPN) public apis in stage-ie1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eData-ingress\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded parameter(s) to \u003ccode\u003eGetDataSync\u003c/code\u003e: datasetId\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetCloudAppPreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetWarehousePreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetDataSampleResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-27\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd schema oneOf back without discriminator\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded prod-us1 to supportedRealms for all endpoints\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-25\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-24\u003c/h2\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/twilio/twilio-java/blob/main/CHANGES.md\"\u003ecom.twilio.sdk:twilio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2026-04-14] Version 11.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Chore\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/949\"\u003e#949\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/949\"\u003etwilio/twilio-java#949\u003c/a\u003e): add ISO8601Serializer. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/948\"\u003e#948\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/948\"\u003etwilio/twilio-java#948\u003c/a\u003e): add page without meta. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Feature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/947\"\u003e#947\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/947\"\u003etwilio/twilio-java#947\u003c/a\u003e): Added ResourceDeleter. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTwiml\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebackgroundNoiseReduction\u003c/code\u003e, \u003ccode\u003espeechTimeout\u003c/code\u003e, \u003ccode\u003edeepgramSmartFormat\u003c/code\u003e, \u003ccode\u003eignoreBackchannel\u003c/code\u003e, \u003ccode\u003eevents\u003c/code\u003e attributes to \u003ccode\u003e\u0026lt;ConversationRelay\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eApi\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnabled incoming phone numbers(IPN) public apis in stage-ie1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eData-ingress\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded parameter(s) to \u003ccode\u003eGetDataSync\u003c/code\u003e: datasetId\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetCloudAppPreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetWarehousePreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetDataSampleResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-27\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd schema oneOf back without discriminator\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded prod-us1 to supportedRealms for all endpoints\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-25\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-24\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/c2d3cc758f1cc18ecd987cc586671611e1318e8d\"\u003e\u003ccode\u003ec2d3cc7\u003c/code\u003e\u003c/a\u003e Release 11.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/132633bfdd5bfa13f75d538e37e0130008665f4d\"\u003e\u003ccode\u003e132633b\u003c/code\u003e\u003c/a\u003e [Librarian] Regenerated @ 40ca64a22aef42a337cb49d1d4e4c4f48ae3b6e4 21ed5806ef...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/07484b9c0971e43293e3f4e7cff56a8857c96a55\"\u003e\u003ccode\u003e07484b9\u003c/code\u003e\u003c/a\u003e chore: add ISO8601Serializer (\u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/203eea97c9dac3f0897ebf16e7397b12d0602f76\"\u003e\u003ccode\u003e203eea9\u003c/code\u003e\u003c/a\u003e chore: add page without meta (\u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/445b10233374245f45cf3dae654f20d194423ff4\"\u003e\u003ccode\u003e445b102\u003c/code\u003e\u003c/a\u003e feat: Added ResourceDeleter (\u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/twilio/twilio-java/compare/11.3.6...11.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-4` from 8.37.1 to 8.39.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.39.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJsonObjectReader\u003c/code\u003e and \u003ccode\u003eMapObjectReader\u003c/code\u003e hanging indefinitely when deserialization errors leave the reader in an inconsistent state (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5293\"\u003e#5293\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eFailed collection values are now skipped so parsing can continue\u003c/li\u003e\n\u003cli\u003eSkipped collection values emit \u003ccode\u003eWARNING\u003c/code\u003e logs\u003c/li\u003e\n\u003cli\u003eUnknown-key failures and unrecoverable recovery failures emit \u003ccode\u003eERROR\u003c/code\u003e logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.39.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix ANR caused by \u003ccode\u003eGestureDetectorCompat\u003c/code\u003e Handler/MessageQueue lock contention in \u003ccode\u003eSentryWindowCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5138\"\u003e#5138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump AGP version from v8.6.0 to v8.13.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.3 to v0.13.6 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5277\"\u003e#5277\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0136\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.3...0.13.6\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v8.14.3 to v9.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v941\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.3...v9.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.38.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent cross-organization trace continuation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5136\"\u003e#5136\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eBy default, the SDK now extracts the organization ID from the DSN (e.g. \u003ccode\u003eo123.ingest.sentry.io\u003c/code\u003e) and compares it with the \u003ccode\u003esentry-org_id\u003c/code\u003e value in incoming baggage headers. When the two differ, the SDK starts a fresh trace instead of continuing the foreign one. This guards against accidentally linking traces across organizations.\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eenableStrictTraceContinuation\u003c/code\u003e (default \u003ccode\u003efalse\u003c/code\u003e): when enabled, both the SDK's org ID \u003cstrong\u003eand\u003c/strong\u003e the incoming baggage org ID must be present and match for a trace to be continued. Traces with a missing org ID on either side are rejected. Configurable via code (\u003ccode\u003esetStrictTraceContinuation(true)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eenable-strict-trace-continuation=true\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.strict-trace-continuation.enabled\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.strict-trace-continuation=true\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eorgId\u003c/code\u003e: allows explicitly setting the organization ID for self-hosted and Relay setups where it cannot be extracted from the DSN. Configurable via code (\u003ccode\u003esetOrgId(\u0026quot;123\u0026quot;)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eorg-id=123\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.org-id\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.org-id=123\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAndroid: Attachments on the scope will now be synced to native (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5211\"\u003e#5211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd THIRD_PARTY_NOTICES.md for vendored third-party code, bundled as SENTRY_THIRD_PARTY_NOTICES.md in the sentry JAR under META-INF (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDo not retrieve \u003ccode\u003eActivityManager\u003c/code\u003e if API \u0026lt; 35 on SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5275\"\u003e#5275\u003c/a\u003e)\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-4's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.39.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJsonObjectReader\u003c/code\u003e and \u003ccode\u003eMapObjectReader\u003c/code\u003e hanging indefinitely when deserialization errors leave the reader in an inconsistent state (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5293\"\u003e#5293\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eFailed collection values are now skipped so parsing can continue\u003c/li\u003e\n\u003cli\u003eSkipped collection values emit \u003ccode\u003eWARNING\u003c/code\u003e logs\u003c/li\u003e\n\u003cli\u003eUnknown-key failures and unrecoverable recovery failures emit \u003ccode\u003eERROR\u003c/code\u003e logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.39.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix ANR caused by \u003ccode\u003eGestureDetectorCompat\u003c/code\u003e Handler/MessageQueue lock contention in \u003ccode\u003eSentryWindowCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5138\"\u003e#5138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump AGP version from v8.6.0 to v8.13.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.3 to v0.13.6 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5277\"\u003e#5277\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0136\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.3...0.13.6\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v8.14.3 to v9.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v941\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.3...v9.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.38.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent cross-organization trace continuation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5136\"\u003e#5136\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eBy default, the SDK now extracts the organization ID from the DSN (e.g. \u003ccode\u003eo123.ingest.sentry.io\u003c/code\u003e) and compares it with the \u003ccode\u003esentry-org_id\u003c/code\u003e value in incoming baggage headers. When the two differ, the SDK starts a fresh trace instead of continuing the foreign one. This guards against accidentally linking traces across organizations.\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eenableStrictTraceContinuation\u003c/code\u003e (default \u003ccode\u003efalse\u003c/code\u003e): when enabled, both the SDK's org ID \u003cstrong\u003eand\u003c/strong\u003e the incoming baggage org ID must be present and match for a trace to be continued. Traces with a missing org ID on either side are rejected. Configurable via code (\u003ccode\u003esetStrictTraceContinuation(true)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eenable-strict-trace-continuation=true\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.strict-trace-continuation.enabled\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.strict-trace-continuation=true\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eorgId\u003c/code\u003e: allows explicitly setting the organization ID for self-hosted and Relay setups where it cannot be extracted from the DSN. Configurable via code (\u003ccode\u003esetOrgId(\u0026quot;123\u0026quot;)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eorg-id=123\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.org-id\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.org-id=123\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAndroid: Attachments on the scope will now be synced to native (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5211\"\u003e#5211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd THIRD_PARTY_NOTICES.md for vendored third-party code, bundled as SENTRY_THIRD_PARTY_NOTICES.md in the sentry JAR under META-INF (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDo not retrieve \u003ccode\u003eActivityManager\u003c/code\u003e if API \u0026lt; 35 on SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5275\"\u003e#5275\u003c/a\u003e)\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/getsentry/sentry-java/commit/d23b4b6a69a8936675206cb4b58b4b99d04c9293\"\u003e\u003ccode\u003ed23b4b6\u003c/code\u003e\u003c/a\u003e release: 8.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/7bd7bbfef09b126fd4337c16ceb6d1997272452d\"\u003e\u003ccode\u003e7bd7bbf\u003c/code\u003e\u003c/a\u003e fix changelog for unreleased SDK hang fix (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5298\"\u003e#5298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/bfc5ee11c3861539e7ecf5d5a49dc91c80fc8781\"\u003e\u003ccode\u003ebfc5ee1\u003c/code\u003e\u003c/a\u003e fix(sentry): Recover object readers after deserialization errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5293\"\u003e#5293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6cf6485d14cfa43c514319245d564fa2ffb906c4\"\u003e\u003ccode\u003e6cf6485\u003c/code\u003e\u003c/a\u003e Merge branch 'release/8.39.0'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/12c8c2ace0ccd97d3efe1662e9cf8604441e1faf\"\u003e\u003ccode\u003e12c8c2a\u003c/code\u003e\u003c/a\u003e release: 8.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/de6a178ca26079db56d6b52388281e87621c91df\"\u003e\u003ccode\u003ede6a178\u003c/code\u003e\u003c/a\u003e fix(gestures): Replace GestureDetectorCompat with lightweight detector to fix...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ce4b2c14da6fce40953fc11fc5df65b2839d31e1\"\u003e\u003ccode\u003ece4b2c1\u003c/code\u003e\u003c/a\u003e chore(deps): update Gradle to v9.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5063\"\u003e#5063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/0675272ae2a242c9db25fe96485f5167d21912ef\"\u003e\u003ccode\u003e0675272\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5285\"\u003e#5285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3af77f43495c957d88472975c0bdb982edb8411d\"\u003e\u003ccode\u003e3af77f4\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5287\"\u003e#5287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/7935b26106c57393d64dc47bed2877617fb3cec3\"\u003e\u003ccode\u003e7935b26\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5286\"\u003e#5286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.37.1...8.39.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TNG/ArchUnit/releases\"\u003ecom.tngtech.archunit:archunit-junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eArchUnit 1.4.2\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDescribedPredicate#negate()\u003c/code\u003e returns a \u003ccode\u003eDescribedPredicate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eJavaCodeUnit.Predicates.anyParameterThat\u003c/code\u003e and \u003ccode\u003eJavaCodeUnit.Predicates.allParameters\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1498\"\u003e#1498\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mkhl\"\u003e\u003ccode\u003e@​mkhl\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eSupport Java 26 / class file major version 70 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1544\"\u003e#1544\u003c/a\u003e)\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/TNG/ArchUnit/commit/e45aaa20543b74daeaa09f501b8890742dc7dd8d\"\u003e\u003ccode\u003ee45aaa2\u003c/code\u003e\u003c/a\u003e prepare release 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/c07193cb024f7717b8480c50dfe8ea130f0b019b\"\u003e\u003ccode\u003ec07193c\u003c/code\u003e\u003c/a\u003e set version to \u003ccode\u003e1.4.2-SNAPSHOT\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/ac9b896675d553d607f230e94ae7e4dc096a47e6\"\u003e\u003ccode\u003eac9b896\u003c/code\u003e\u003c/a\u003e migrate from (meanwhile shut down) OSSRH to Central Publisher Portal using th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b72fcaf8a7ba6385e7f5516571adcca4e5b67046\"\u003e\u003ccode\u003eb72fcaf\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 8 to 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/fc1881d5b8310b979f40086e254d3c7aff4ff044\"\u003e\u003ccode\u003efc1881d\u003c/code\u003e\u003c/a\u003e Bump addressable from 2.8.7 to 2.9.0 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/dee39bbf3e2983e5aff7739d107ca2adf129f409\"\u003e\u003ccode\u003edee39bb\u003c/code\u003e\u003c/a\u003e Bump activesupport from 7.1.3.4 to 7.2.3.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b0970078389702b481c40b667bd231f01b42a1d0\"\u003e\u003ccode\u003eb097007\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4d7cfe9ee9c5a207c07ba5b1af62e0cd9577a3ec\"\u003e\u003ccode\u003e4d7cfe9\u003c/code\u003e\u003c/a\u003e Bump json from 2.18.1 to 2.19.2 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/90dc7733fb4a8b692d664039e5d4f55a3b92f297\"\u003e\u003ccode\u003e90dc773\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.18.9 to 1.19.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/7a88298fbfdff328e133b0fbdad91f0ea674df0d\"\u003e\u003ccode\u003e7a88298\u003c/code\u003e\u003c/a\u003e Bump faraday from 2.10.1 to 2.14.1 in /docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-core` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKoin 4.2.1\u003c/h2\u003e\n\u003ch2\u003eSupport for Compile Safety with Koin Compiler 1.0.0-RC1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKoin Compiler Plugin 1.0.0-RC1 - \u003ca href=\"https://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\"\u003ehttps://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix stacked-params lookup on linked scopes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e) — The 4.2.0 resolver rewrite (\u003ccode\u003eCoreResolverV2\u003c/code\u003e) walked linked scopes but dropped the per-parent stacked-parameters check that 4.1.x performed via recursion. This broke patterns where \u003ccode\u003eAndroidParametersHolder\u003c/code\u003e is stacked on the factory scope by \u003ccode\u003eKoinViewModelFactory\u003c/code\u003e and \u003ccode\u003eSavedStateHandle\u003c/code\u003e is then resolved from a child ViewModel scope. Linked-scope resolution now also checks stacked params on each parent scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRestore ABI compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 release inadvertently broke binary compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e on JVM. Fixed by restoring the original JVM class name via \u003ccode\u003e@JvmName\u003c/code\u003e/\u003ccode\u003e@JvmMultifileClass\u003c/code\u003e annotations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix scope \u003ccode\u003e_closed\u003c/code\u003e concurrency issue\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e) — The \u003ccode\u003eScope._closed\u003c/code\u003e flag was not volatile, which could cause stale reads under concurrent access.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved Scope resolution error messages\u003c/strong\u003e — \u003ccode\u003eCoreResolverV2\u003c/code\u003e now provides clearer error messages when scope resolution fails, making it easier to diagnose misconfigured scopes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — Binary compatibility validation (\u003ccode\u003ekotlinx.binary-compatibility-validator\u003c/code\u003e) now runs on every PR to prevent future ABI breaks.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparametersOf\u003c/code\u003e type-collision warning\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e) — Added a caution note explaining that when a value passed via \u003ccode\u003eparametersOf\u003c/code\u003e has the same type as the requested definition, Koin returns the value directly and skips the factory block. Suggests using a wrapper type as a workaround.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to the following contributors for this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arnaudgiuliani\"\u003e\u003ccode\u003e@​arnaudgiuliani\u003c/code\u003e\u003c/a\u003e (Arnaud Giuliani)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/inemtsev\"\u003e\u003ccode\u003e@​inemtsev\u003c/code\u003e\u003c/a\u003e (Ilya Nemtsev) — fix for scope closed concurrency issue (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.1-RC1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix ABI break on \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 refactor to move \u003ccode\u003ewaitAllStartJobs\u003c/code\u003e to common code changed the JVM symbol for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e from \u003ccode\u003eKoinWaitExtKt\u003c/code\u003e to \u003ccode\u003eKoinWaitExt_jvmKt\u003c/code\u003e, causing \u003ccode\u003eNoSuchMethodError\u003c/code\u003e at runtime for libraries compiled against 4.1.x. Fixed by adding \u003ccode\u003e@file:JvmName(\u0026quot;KoinWaitExtKt\u0026quot;)\u003c/code\u003e and \u003ccode\u003e@file:JvmMultifileClass\u003c/code\u003e to restore the original symbol.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved scope resolution error messages\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2379\"\u003e#2379\u003c/a\u003e) — \u003ccode\u003eNoDefinitionFoundException\u003c/code\u003e now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI / Tooling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — The binary-compatibility-validator plugin was already configured but not running on PRs. \u003ccode\u003eapiCheck\u003c/code\u003e is now part of the CI build workflow, preventing accidental ABI breaks in future releases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdated \u003ccode\u003e.api\u003c/code\u003e dump files\u003c/strong\u003e for all modules to reflect the current public API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStill in progress for 4.2.1 final\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e — \u003ccode\u003e@Volatile\u003c/code\u003e on \u003ccode\u003eScope._closed\u003c/code\u003e for concurrency fix\u003c/li\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2358\"\u003e#2358\u003c/a\u003e — Fix \u003ccode\u003eClassCastException\u003c/code\u003e reading environment properties (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2348\"\u003e#2348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation updates: \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2339\"\u003e#2339\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2336\"\u003e#2336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2218\"\u003e#2218\u003c/a\u003e\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/InsertKoinIO/koin/commit/e7d9f0a16abb3cc258af16f5c6b7f38452909a6f\"\u003e\u003ccode\u003ee7d9f0a\u003c/code\u003e\u003c/a\u003e 4.2.1 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4ff59ae7fd106e02fd945f1474394de324e6e993\"\u003e\u003ccode\u003e4ff59ae\u003c/code\u003e\u003c/a\u003e bump 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/dea6fe7e0b33a4b83c5ad9d9047c3530e8167dee\"\u003e\u003ccode\u003edea6fe7\u003c/code\u003e\u003c/a\u003e Doc \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e - parametersOf type-collision warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/711fa1f6488a129722d9823afbf5d0407b41f4c8\"\u003e\u003ccode\u003e711fa1f\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e - CoreResolverV2 lost stacked-params lookup on linked scopes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/b055036e9ce9b6f163cbd3761aec07ad4db0721a\"\u003e\u003ccode\u003eb055036\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2389\"\u003e#2389\u003c/a\u003e from inemtsev/fix/scope-closed-volatile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/e31f489d7d56da649026bcb2398c71597f4d1c10\"\u003e\u003ccode\u003ee31f489\u003c/code\u003e\u003c/a\u003e added tests for scoped ViewModel \u0026amp; SavedStateVM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/d16503eabf155a55775f681f93568188ccff6531\"\u003e\u003ccode\u003ed16503e\u003c/code\u003e\u003c/a\u003e rezvert back jvmToolchain\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4df4e4ce7fd487dec2acd6565c408d9691509dff\"\u003e\u003ccode\u003e4df4e4c\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 - Improve Scope resolution error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/5e6c03538e68c964b69c2e3191c6bac0d57b7650\"\u003e\u003ccode\u003e5e6c035\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/290f7444bcbcec3423321497f17cb0ee8e62ac2e\"\u003e\u003ccode\u003e290f744\u003c/code\u003e\u003c/a\u003e fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-compose` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKoin 4.2.1\u003c/h2\u003e\n\u003ch2\u003eSupport for Compile Safety with Koin Compiler 1.0.0-RC1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKoin Compiler Plugin 1.0.0-RC1 - \u003ca href=\"https://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\"\u003ehttps://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix stacked-params lookup on linked scopes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e) — The 4.2.0 resolver rewrite (\u003ccode\u003eCoreResolverV2\u003c/code\u003e) walked linked scopes but dropped the per-parent stacked-parameters check that 4.1.x performed via recursion. This broke patterns where \u003ccode\u003eAndroidParametersHolder\u003c/code\u003e is stacked on the factory scope by \u003ccode\u003eKoinViewModelFactory\u003c/code\u003e and \u003ccode\u003eSavedStateHandle\u003c/code\u003e is then resolved from a child ViewModel scope. Linked-scope resolution now also checks stacked params on each parent scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRestore ABI compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 release inadvertently broke binary compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e on JVM. Fixed by restoring the original JVM class name via \u003ccode\u003e@JvmName\u003c/code\u003e/\u003ccode\u003e@JvmMultifileClass\u003c/code\u003e annotations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix scope \u003ccode\u003e_closed\u003c/code\u003e concurrency issue\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e) — The \u003ccode\u003eScope._closed\u003c/code\u003e flag was not volatile, which could cause stale reads under concurrent access.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved Scope resolution error messages\u003c/strong\u003e — \u003ccode\u003eCoreResolverV2\u003c/code\u003e now provides clearer error messages when scope resolution fails, making it easier to diagnose misconfigured scopes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — Binary compatibility validation (\u003ccode\u003ekotlinx.binary-compatibility-validator\u003c/code\u003e) now runs on every PR to prevent future ABI breaks.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparametersOf\u003c/code\u003e type-collision warning\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e) — Added a caution note explaining that when a value passed via \u003ccode\u003eparametersOf\u003c/code\u003e has the same type as the requested definition, Koin returns the value directly and skips the factory block. Suggests using a wrapper type as a workaround.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to the following contributors for this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arnaudgiuliani\"\u003e\u003ccode\u003e@​arnaudgiuliani\u003c/code\u003e\u003c/a\u003e (Arnaud Giuliani)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/inemtsev\"\u003e\u003ccode\u003e@​inemtsev\u003c/code\u003e\u003c/a\u003e (Ilya Nemtsev) — fix for scope closed concurrency issue (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.1-RC1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix ABI break on \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 refactor to move \u003ccode\u003ewaitAllStartJobs\u003c/code\u003e to common code changed the JVM symbol for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e from \u003ccode\u003eKoinWaitExtKt\u003c/code\u003e to \u003ccode\u003eKoinWaitExt_jvmKt\u003c/code\u003e, causing \u003ccode\u003eNoSuchMethodError\u003c/code\u003e at runtime for libraries compiled against 4.1.x. Fixed by adding \u003ccode\u003e@file:JvmName(\u0026quot;KoinWaitExtKt\u0026quot;)\u003c/code\u003e and \u003ccode\u003e@file:JvmMultifileClass\u003c/code\u003e to restore the original symbol.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved scope resolution error messages\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2379\"\u003e#2379\u003c/a\u003e) — \u003ccode\u003eNoDefinitionFoundException\u003c/code\u003e now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI / Tooling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — The binary-compatibility-validator plugin was already configured but not running on PRs. \u003ccode\u003eapiCheck\u003c/code\u003e is now part of the CI build workflow, preventing accidental ABI breaks in future releases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdated \u003ccode\u003e.api\u003c/code\u003e dump files\u003c/strong\u003e for all modules to reflect the current public API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStill in progress for 4.2.1 final\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e — \u003ccode\u003e@Volatile\u003c/code\u003e on \u003ccode\u003eScope._closed\u003c/code\u003e for concurrency fix\u003c/li\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2358\"\u003e#2358\u003c/a\u003e — Fix \u003ccode\u003eClassCastException\u003c/code\u003e reading environment properties (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2348\"\u003e#2348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation updates: \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2339\"\u003e#2339\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2336\"\u003e#2336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2218\"\u003e#2218\u003c/a\u003e\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/InsertKoinIO/koin/commit/e7d9f0a16abb3cc258af16f5c6b7f38452909a6f\"\u003e\u003ccode\u003ee7d9f0a\u003c/code\u003e\u003c/a\u003e 4.2.1 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4ff59ae7fd106e02fd945f1474394de324e6e993\"\u003e\u003ccode\u003e4ff59ae\u003c/code\u003e\u003c/a\u003e bump 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/dea6fe7e0b33a4b83c5ad9d9047c3530e8167dee\"\u003e\u003ccode\u003edea6fe7\u003c/code\u003e\u003c/a\u003e Doc \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e - parametersOf type-collision warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/711fa1f6488a129722d9823afbf5d0407b41f4c8\"\u003e\u003ccode\u003e711fa1f\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e - CoreResolverV2 lost stacked-params lookup on linked scopes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/b055036e9ce9b6f163cbd3761aec07ad4db0721a\"\u003e\u003ccode\u003eb055036\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2389\"\u003e#2389\u003c/a\u003e from inemtsev/fix/scope-closed-volatile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/e31f489d7d56da649026bcb2398c71597f4d1c10\"\u003e\u003ccode\u003ee31f489\u003c/code\u003e\u003c/a\u003e added tests for scoped ViewModel \u0026amp; SavedStateVM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/d16503eabf155a55775f681f93568188ccff6531\"\u003e\u003ccode\u003ed16503e\u003c/code\u003e\u003c/a\u003e rezvert back jvmToolchain\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4df4e4ce7fd487dec2acd6565c408d9691509dff\"\u003e\u003ccode\u003e4df4e4c\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 - Improve Scope resolution error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/5e6c03538e68c964b69c2e3191c6bac0d57b7650\"\u003e\u003ccode\u003e5e6c035\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/290f7444bcbcec3423321497f17cb0ee8e62ac2e\"\u003e\u003ccode\u003e290f744\u003c/code\u003e\u003c/a\u003e fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-test` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKoin 4.2.1\u003c/h2\u003e\n\u003ch2\u003eSupport for Compile Safety with Koin Compiler 1.0.0-RC1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKoin Compiler Plugin 1.0.0-RC1 - \u003ca href=\"https://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\"\u003ehttps://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix stacked-params lookup on linked scopes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e) — The 4.2.0 resolver rewrite (\u003ccode\u003eCoreResolverV2\u003c/code\u003e) walked linked scopes but dropped the per-parent stacked-parameters check that 4.1.x performed via recursion. This broke patterns where \u003ccode\u003eAndroidParametersHolder\u003c/code\u003e is stacked on the factory scope by \u003ccode\u003eKoinViewModelFactory\u003c/code\u003e and \u003ccode\u003eSavedStateHandle\u003c/code\u003e is then resolved from a child ViewModel scope. Linked-scope resolution now also checks stacked params on each parent scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRestore ABI compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 release inadvertently broke binary compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e on JVM. Fixed by restoring the original JVM class name via \u003ccode\u003e@JvmName\u003c/code\u003e/\u003ccode\u003e@JvmMultifileClass\u003c/code\u003e annotations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix scope \u003ccode\u003e_closed\u003c/code\u003e concurrency issue\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e) — The \u003ccode\u003eScope._closed\u003c/code\u003e flag was not volatile, which could cause stale reads under concurrent access.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved Scope resolution error messages\u003c/strong\u003e — \u003ccode\u003eCoreResolverV2\u003c/code\u003e now provides clearer error messages when scope resolution fails, making it easier to diagnose misconfigured scopes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — Binary compatibility validation (\u003ccode\u003ekotlinx.binary-compatibility-validator\u003c/code\u003e) now runs on every PR to prevent future ABI breaks.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparametersOf\u003c/code\u003e type-collision warning\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e) — Added a caution note explaining that when a value passed via \u003ccode\u003eparametersOf\u003c/code\u003e has the same type as the requested definition, Koin returns the value directly and skips the factory block. Suggests using a wrapper type as a workaround.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to the following contributors for this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arnaudgiuliani\"\u003e\u003ccode\u003e@​arnaudgiuliani\u003c/code\u003e\u003c/a\u003e (Arnaud Giuliani)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/inemtsev\"\u003e\u003ccode\u003e@​inemtsev\u003c/code\u003e\u003c/a\u003e (Ilya Nemtsev) — fix for scope closed concurrency issue (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.1-RC1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix ABI break on \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 refactor to move \u003ccode\u003ewaitAllStartJobs\u003c/code\u003e to common code changed the JVM symbol for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e from \u003ccode\u003eKoinWaitExtKt\u003c/code\u003e to \u003ccode\u003eKoinWaitExt_jvmKt\u003c/code\u003e, causing \u003ccode\u003eNoSuchMethodError\u003c/code\u003e at runtime for libraries compiled against 4.1.x. Fixed by adding \u003ccode\u003e@file:JvmName(\u0026quot;KoinWaitExtKt\u0026quot;)\u003c/code\u003e and \u003ccode\u003e@file:JvmMultifileClass\u003c/code\u003e to restore the original symbol.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved scope resolution error messages\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2379\"\u003e#2379\u003c/a\u003e) — \u003ccode\u003eNoDefinitionFoundException\u003c/code\u003e now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI / Tooling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — The binary-compatibility-validator plugin was already configured but not running on PRs. \u003ccode\u003eapiCheck\u003c/code\u003e is now part of the CI build workflow, preventing accidental ABI breaks in future releases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdated \u003ccode\u003e.api\u003c/code\u003e dump files\u003c/strong\u003e for all modules to reflect the current public API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStill in progress for 4.2.1 final\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e — \u003ccode\u003e@Volatile\u003c/code\u003e on \u003ccode\u003eScope._closed\u003c/code\u003e for concurrency fix\u003c/li\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2358\"\u003e#2358\u003c/a\u003e — Fix \u003ccode\u003eClassCastException\u003c/code\u003e reading environment properties (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2348\"\u003e#2348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation updates: \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2339\"\u003e#2339\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2336\"\u003e#2336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2218\"\u003e#2218\u003c/a\u003e\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/InsertKoinIO/koin/commit/e7d9f0a16abb3cc258af16f5c6b7f38452909a6f\"\u003e\u003ccode\u003ee7d9f0a\u003c/code\u003e\u003c/a\u003e 4.2.1 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4ff59ae7fd106e02fd945f1474394de324e6e993\"\u003e\u003ccode\u003e4ff59ae\u003c/code\u003e\u003c/a\u003e bump 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/dea6fe7e0b33a4b83c5ad9d9047c3530e8167dee\"\u003e\u003ccode\u003edea6fe7\u003c/code\u003e\u003c/a\u003e Doc \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e - parametersOf type-collision warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/711fa1f6488a129722d9823afbf5d0407b41f4c8\"\u003e\u003ccode\u003e711fa1f\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e - CoreResolverV2 lost stacked-params lookup on linked scopes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/b055036e9ce9b6f163cbd3761aec07ad4db0721a\"\u003e\u003ccode\u003eb055036\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2389\"\u003e#2389\u003c/a\u003e from inemtsev/fix/scope-closed-volatile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/e31f489d7d56da649026bcb2398c71597f4d1c10\"\u003e\u003ccode\u003ee31f489\u003c/code\u003e\u003c/a\u003e added tests for scoped ViewModel \u0026amp; SavedStateVM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/d16503eabf155a55775f681f93568188ccff6531\"\u003e\u003ccode\u003ed16503e\u003c/code\u003e\u003c/a\u003e rezvert back jvmToolchain\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4df4e4ce7fd487dec2acd6565c408d9691509dff\"\u003e\u003ccode\u003e4df4e4c\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 - Improve Scope resolution error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/5e6c03538e68c964b69c2e3191c6bac0d57b7650\"\u003e\u003ccode\u003e5e6c035\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/290f7444bcbcec3423321497f17cb0ee8e62ac2e\"\u003e\u003ccode\u003e290f744\u003c/code\u003e\u003c/a\u003e fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-compose` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/ahmetabdullahgultekin/Muhabbet/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetabdullahgultekin%2FMuhabbet/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"4281866682","node_id":"PR_kwDOSFKxhc7TRlrv","number":2,"state":"closed","title":"Bump the maven group with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T03:50:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-17T10:21:09.000Z","updated_at":"2026-04-20T03:50:01.000Z","time_to_close":235731,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":13,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.1.1"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.1.1"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.1.1"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| com.android.tools.build:apksig | `8.13.1` | `9.1.1` |\n| com.android.library | `8.13.1` | `9.1.1` |\n| com.android.application | `8.13.1` | `9.1.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.1.1\n\nUpdates `com.android.library` from 8.13.1 to 9.1.1\n\nUpdates `com.android.application` from 8.13.1 to 9.1.1\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.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:kotlin-stdlib` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.1.1\n\nUpdates `com.android.application` from 8.13.1 to 9.1.1\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.ncorti.ktfmt.gradle` from 0.25.0 to 0.26.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 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/SrikkanthSorim/Vector-migrated-java22-20260417-154201/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrikkanthSorim%2FVector-migrated-java22-20260417-154201/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4258178275","node_id":"PR_kwDODhGCgM7SIbip","number":174,"state":"closed","title":"Bump com.android.library from 8.13.2 to 9.2.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-25T14:54:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T22:10:30.000Z","updated_at":"2026-04-25T14:55:02.000Z","time_to_close":1010663,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.android.library","old_version":"8.13.2","new_version":"9.2.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.android.library from 8.13.2 to 9.2.0.\n","html_url":"https://github.com/open-toast/gummy-bears/pull/174","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-toast%2Fgummy-bears/issues/174","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/174/packages"},{"uuid":"4257824190","node_id":"PR_kwDOOsroQM7SHWWU","number":35,"state":"closed","title":"chore(deps): bump com.android.library from 8.13.2 to 9.1.1","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-27T23:27:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T20:53:00.000Z","updated_at":"2026-04-27T23:27:23.000Z","time_to_close":1218862,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"com.android.library","old_version":"8.13.2","new_version":"9.1.1","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.android.library from 8.13.2 to 9.1.1.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.library\u0026package-manager=gradle\u0026previous-version=8.13.2\u0026new-version=9.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mattiascibien/kmm-wifi-connect/pull/35","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattiascibien%2Fkmm-wifi-connect/issues/35","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/35/packages"}],"issue_packages":[{"old_version":"8.10.1","new_version":"8.13.2","update_type":"minor","path":null,"pr_created_at":"2026-06-09T06:34:18.000Z","version_change":"8.10.1 → 8.13.2","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":"9.2.0","new_version":"9.2.1","update_type":"patch","path":null,"pr_created_at":"2026-05-20T23:08:00.000Z","version_change":"9.2.0 → 9.2.1","issue":{"uuid":"4490487031","node_id":"PR_kwDOEAMm887duo2w","number":459,"state":"closed","title":"Bump the android group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","minor","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-08T20:37:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T23:08:00.000Z","updated_at":"2026-06-08T20:37:51.000Z","time_to_close":1632589,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"android","update_count":3,"packages":[{"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":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android group with 3 updates in the / directory: [com.google.android.material:material](https://github.com/material-components/material-components-android), com.android.application and com.android.library.\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 `com.android.application` from 9.2.0 to 9.2.1\n\nUpdates `com.android.library` from 9.2.0 to 9.2.1\n\nUpdates `com.android.library` from 9.2.0 to 9.2.1","html_url":"https://github.com/openziti/ziti-tunnel-android/pull/459","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/openziti%2Fziti-tunnel-android/issues/459","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/459/packages"}},{"old_version":"8.12.2","new_version":"9.2.1","update_type":"major","path":null,"pr_created_at":"2026-05-18T03:18:19.000Z","version_change":"8.12.2 → 9.2.1","issue":{"uuid":"4466001958","node_id":"PR_kwDOOSllGs7cfg-X","number":75,"state":"open","title":"Bump the libs group across 1 directory with 19 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-05-18T03:18:19.000Z","updated_at":"2026-05-18T03:19:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":19,"packages":[{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-core","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-cbor","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.android.library","old_version":"8.12.2","new_version":"9.2.1"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.5.1"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.5.1` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-core](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-cbor](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [org.jetbrains.kotlin.multiplatform](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| com.android.library | `8.12.2` | `9.2.1` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n| com.diffplug.spotless | `8.4.0` | `8.5.1` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.2` |\n\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.5.1\"\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-core` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-core'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-core'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-kmp-statium/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"}},{"old_version":"8.12.2","new_version":"9.2.1","update_type":"major","path":null,"pr_created_at":"2026-05-11T02:54:04.000Z","version_change":"8.12.2 → 9.2.1","issue":{"uuid":"4417748347","node_id":"PR_kwDOOSllGs7aF179","number":74,"state":"closed","title":"Bump the libs group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-18T03:14:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T02:54:04.000Z","updated_at":"2026-05-18T03:14:23.000Z","time_to_close":606017,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-core","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-cbor","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.android.library","old_version":"8.12.2","new_version":"9.2.1"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.5.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-core](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-cbor](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.3` |\n| [org.jetbrains.kotlin.multiplatform](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| com.android.library | `8.12.2` | `9.2.1` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.2` |\n\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.5.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-core` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-core'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-core'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-serialization-json` 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.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.9.0...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-serialization-cbor` 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.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-cbor'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-cbor'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.9.0...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-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arb\nitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.corou...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium/pull/74","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-kmp-statium/issues/74","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/74/packages"}},{"old_version":"9.2.0","new_version":"9.2.1","update_type":"patch","path":"/android","pr_created_at":"2026-05-11T01:19:29.000Z","version_change":"9.2.0 → 9.2.1","issue":{"uuid":"4417435612","node_id":"PR_kwDOR_lcus7aE4Vp","number":62,"state":"closed","title":"chore(deps): Bump the android-minor-patch group in /android with 8 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T01:19:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T01:19:29.000Z","updated_at":"2026-05-11T01:19:54.000Z","time_to_close":18,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"android-minor-patch","update_count":8,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.00"},{"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":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"com.android.tools.build:gradle","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"}],"path":"/android","ecosystem":"maven"},"body":"Bumps the android-minor-patch group in /android with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.00` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| com.android.tools.build:gradle | `9.2.0` | `9.2.1` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.library | `9.2.0` | `9.2.1` |\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.00\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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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 `org.jetbrains.kotlinx:kotlinx-coroutines-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\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.jetbrains.kotlinx:kotlinx-coroutines-play-services` 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-play-services'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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-play-services'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.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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.jetbrains.kotlinx:kotlinx-coroutines-core` 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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error hand...\n\n_Description has been truncated_","html_url":"https://github.com/perezjoseph/Gestion-inmobiliaria/pull/62","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/perezjoseph%2FGestion-inmobiliaria/issues/62","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/62/packages"}},{"old_version":"9.2.0","new_version":"9.2.1","update_type":"patch","path":null,"pr_created_at":"2026-05-09T19:50:16.000Z","version_change":"9.2.0 → 9.2.1","issue":{"uuid":"4413666246","node_id":"PR_kwDOSYEU4c7Z5rtK","number":5,"state":"open","title":"chore(deps): bump the pkg group across 1 directory with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-09T19:50:16.000Z","updated_at":"2026-05-10T00:23:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pkg","update_count":10,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.00"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"5.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"5.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"5.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-launcher","old_version":"1.14.4","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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":"com.android.application","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"9.2.0","new_version":"9.2.1"},{"name":"com.android.legacy-kapt","old_version":"9.2.0","new_version":"9.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the pkg group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.00` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.14.4` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `5.14.4` | `6.0.3` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `5.14.4` | `6.0.3` |\n| [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit-framework) | `1.14.4` | `6.0.3` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.library | `9.2.0` | `9.2.1` |\n| com.android.legacy-kapt | `9.2.0` | `9.2.1` |\n\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.00\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.platform:junit-platform-launcher` from 1.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.platform:junit-platform-launcher's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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\u003eSee full diff in \u003ca href=\"https://github.com/junit-team/junit-framework/commits/r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 5.14.4 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.0.3 = Platform 6.0.3 + Jupiter 6.0.3 + Vintage 6.0.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.2...r6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.2 = Platform 6.0.2 + Jupiter 6.0.2 + Vintage 6.0.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.1...r6.0.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.1 = Platform 6.0.1 + Jupiter 6.0.1 + Vintage 6.0.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.0.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\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/junit-team/junit-framework/commit/36e3253b726fa13cb9a1d29e94b9119575078c4a\"\u003e\u003ccode\u003e36e3253\u003c/code\u003e\u003c/a\u003e Release 6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/295561f38592f1682feceb64d361987da1d0fc9b\"\u003e\u003ccode\u003e295561f\u003c/code\u003e\u003c/a\u003e Finalize 6.0.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ea18076da11599c1467929bf75bc260e13c611b9\"\u003e\u003ccode\u003eea18076\u003c/code\u003e\u003c/a\u003e Fix deadlock in NamespacedHierarchicalStore.computeIfAbsent() (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5348\"\u003e#5348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/869e232420f1c1c64ab9be29609fe3e241c3675e\"\u003e\u003ccode\u003e869e232\u003c/code\u003e\u003c/a\u003e Add 5.14.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/d4b34c468ddb697ff3fe4096b3d67c28751ddab2\"\u003e\u003ccode\u003ed4b34c4\u003c/code\u003e\u003c/a\u003e Fix links to User Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fb0f2151fc277c3a0de7c3237d05c919439bb\"\u003e\u003ccode\u003e5c8fb0f\u003c/code\u003e\u003c/a\u003e Reliably support JRE.OTHER with @⁠EnabledOnJre and @⁠DisabledOnJre\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/febb13f70272a243742ea63d0f85535f7c51a67c\"\u003e\u003ccode\u003efebb13f\u003c/code\u003e\u003c/a\u003e Check out entire repo so switching to \u003ccode\u003emain\u003c/code\u003e branch works in last step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/71fba9098655387c82d8ddbf137442bcb1fa56a0\"\u003e\u003ccode\u003e71fba90\u003c/code\u003e\u003c/a\u003e Install \u003ccode\u003epoppler-utils\u003c/code\u003e for \u003ccode\u003epdfinfo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/740e9e050964c66da7cb5386f89a450985d51941\"\u003e\u003ccode\u003e740e9e0\u003c/code\u003e\u003c/a\u003e Update API baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ba535f0c108ef5f8252578ee4c70547ff10d752\"\u003e\u003ccode\u003e2ba535f\u003c/code\u003e\u003c/a\u003e Use release branch of examples repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.14.4...r6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.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-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\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.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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/iss...\n\n_Description has been truncated_","html_url":"https://github.com/anchildress1/vestige/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anchildress1%2Fvestige/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"8.11.0","new_version":"9.2.1","update_type":"major","path":null,"pr_created_at":"2026-05-09T03:38:12.000Z","version_change":"8.11.0 → 9.2.1","issue":{"uuid":"4410940799","node_id":"PR_kwDORwOWxc7ZxIXd","number":6,"state":"closed","title":"Bump the dependencies group across 1 directory with 109 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-06-13T03:14:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-09T03:38:12.000Z","updated_at":"2026-06-13T03:14:04.000Z","time_to_close":3022550,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":109,"packages":[{"name":"gradle-wrapper","old_version":"8.14.2","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"com.android.tools.build:gradle","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.android.application","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"8.11.0","new_version":"9.2.1"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.2.0-2.0.2","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.2.0-2.0.2","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-annotation-processing-embeddable","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-compiler-embeddable","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-stdlib-jdk8","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"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":"org.jetbrains.kotlinx:kotlinx-coroutines-play-services","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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.jetbrains.kotlinx:kotlinx-coroutines-swing","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"com.google.protobuf:protobuf-gradle-plugin","old_version":"0.9.5","new_version":"0.10.0","repository_url":"https://github.com/google/protobuf-gradle-plugin"},{"name":"com.google.protobuf","old_version":"0.9.5","new_version":"0.10.0"},{"name":"androidx.datastore:datastore","old_version":"1.1.7","new_version":"1.2.1"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.8","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"uk.kulikov.detekt.decompose:decompose-detekt-rules","old_version":"1.0.1","new_version":"2.0.0","repository_url":"https://github.com/LionZXY/detekt-decompose-rule"},{"name":"androidx.core:core-splashscreen","old_version":"1.1.0-rc01","new_version":"1.2.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.13.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.compose.ui:ui","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.compose.foundation:foundation","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.compose.material:material","old_version":"1.8.3","new_version":"1.11.1"},{"name":"androidx.wear.compose:compose-material","old_version":"1.4.1","new_version":"1.6.1"},{"name":"androidx.wear.compose:compose-foundation","old_version":"1.4.1","new_version":"1.6.1"},{"name":"com.google.android.horologist:horologist-compose-layout","old_version":"0.6.23","new_version":"0.7.15","repository_url":"https://github.com/google/horologist"},{"name":"tech.annexflow.compose:constraintlayout-compose-multiplatform","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/lavmee/constraintlayout-compose-multiplatform"},{"name":"androidx.paging:paging-compose","old_version":"3.3.6","new_version":"3.5.0"},{"name":"org.jetbrains.compose:compose-gradle-plugin","old_version":"1.8.2","new_version":"1.10.3","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"io.coil-kt.coil3:coil","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-svg","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-ktor3","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"com.vladsch.flexmark:flexmark","old_version":"0.42.14","new_version":"0.64.8","repository_url":"https://github.com/vsch/flexmark-java"},{"name":"com.mikepenz:multiplatform-markdown-renderer","old_version":"0.35.0","new_version":"0.40.2","repository_url":"https://github.com/mikepenz/multiplatform-markdown-renderer"},{"name":"androidx.room:room-runtime","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.7.2","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.7.2","new_version":"2.8.4"},{"name":"com.google.dagger:dagger","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"com.google.dagger:dagger-compiler","old_version":"2.56.2","new_version":"2.59.2","repository_url":"https://github.com/google/dagger"},{"name":"me.gulya.anvil:annotations","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"me.gulya.anvil:compiler","old_version":"0.3.0-beta03","new_version":"0.4.0","repository_url":"https://github.com/IlyaGulya/anvil-utils"},{"name":"dev.zacsweers.anvil:annotations","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-api","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:compiler-utils","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil:gradle-plugin","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"dev.zacsweers.anvil","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/zacsweers/anvil"},{"name":"io.sentry:sentry-android","old_version":"8.16.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-timber","old_version":"8.16.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-android-gradle-plugin","old_version":"5.8.0","new_version":"6.6.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"net.lingala.zip4j:zip4j","old_version":"2.11.5","new_version":"2.11.6","repository_url":"https://github.com/srikanth-lingala/zip4j"},{"name":"ly.count.android:sdk","old_version":"25.4.2","new_version":"26.1.2","repository_url":"https://github.com/Countly/countly-sdk-android"},{"name":"org.slf4j:slf4j-api","old_version":"1.7.36","new_version":"2.0.17"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.18.0"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-runtime","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-service","old_version":"2.9.1","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-testing","old_version":"2.9.1","new_version":"2.10.0"},{"name":"it.unimi.dsi:fastutil","old_version":"8.5.16","new_version":"8.5.18","repository_url":"https://github.com/vigna/fastutil"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.16.0","new_version":"1.18.0"},{"name":"io.ktor:ktor-client-android","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.1.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-codec:commons-codec","old_version":"1.18.0","new_version":"1.22.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"no.nordicsemi.android:ble","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"no.nordicsemi.android:ble-common","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/NordicSemiconductor/Android-BLE-Library"},{"name":"com.fazecast:jSerialComm","old_version":"2.11.2","new_version":"2.11.4","repository_url":"https://github.com/Fazecast/jSerialComm"},{"name":"com.airbnb.android:lottie-compose","old_version":"6.6.7","new_version":"6.7.1","repository_url":"https://github.com/airbnb/lottie-android"},{"name":"com.google.protobuf:protobuf-kotlin-lite","old_version":"4.31.1","new_version":"4.34.1"},{"name":"com.google.protobuf:protoc","old_version":"4.31.1","new_version":"4.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"org.mockito.kotlin:mockito-kotlin","old_version":"5.4.0","new_version":"6.3.0","repository_url":"https://github.com/mockito/mockito-kotlin"},{"name":"org.robolectric:robolectric","old_version":"4.15.1","new_version":"4.16.1","repository_url":"https://github.com/robolectric/robolectric"},{"name":"io.mockk:mockk","old_version":"1.14.4","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.benchmark:benchmark-macro-junit4","old_version":"1.3.4","new_version":"1.4.1"},{"name":"androidx.wear:wear","old_version":"1.3.0","new_version":"1.4.0"},{"name":"com.google.android.gms:play-services-wearable","old_version":"19.0.0","new_version":"20.0.1"},{"name":"androidx.wear:wear-remote-interactions","old_version":"1.1.0","new_version":"1.2.0"},{"name":"androidx.work:work-runtime-ktx","old_version":"2.10.2","new_version":"2.11.2"},{"name":"com.google.firebase:firebase-messaging","old_version":"24.1.2","new_version":"25.0.2","repository_url":"https://github.com/firebase/firebase-android-sdk"},{"name":"com.arkivanov.decompose:decompose","old_version":"3.3.0","new_version":"3.5.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"com.arkivanov.decompose:extensions-compose","old_version":"3.3.0","new_version":"3.5.0","repository_url":"https://github.com/arkivanov/Decompose"},{"name":"net.engawapg.lib:zoomable","old_version":"2.8.1","new_version":"2.11.1","repository_url":"https://github.com/usuiat/Zoomable"},{"name":"com.squareup.okio:okio","old_version":"3.14.0","new_version":"3.17.0","repository_url":"https://github.com/square/okio"},{"name":"com.squareup.okio:okio-fakefilesystem","old_version":"3.14.0","new_version":"3.17.0","repository_url":"https://github.com/square/okio"},{"name":"com.google.gms.google-services","old_version":"4.4.3","new_version":"4.4.4"},{"name":"androidx.baselineprofile","old_version":"1.3.4","new_version":"1.4.1"},{"name":"com.github.gmazzo.buildconfig","old_version":"5.6.7","new_version":"6.0.9","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.squareup.wire","old_version":"5.3.3","new_version":"6.2.0","repository_url":"https://github.com/square/wire"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 109 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.2` | `9.5.0` |\n| com.android.tools.build:gradle | `8.11.0` | `9.2.1` |\n| com.android.application | `8.11.0` | `9.2.1` |\n| com.android.library | `8.11.0` | `9.2.1` |\n| com.android.test | `8.11.0` | `9.2.1` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.7` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.7` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-annotation-processing-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-compiler-embeddable](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-stdlib-jdk8](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-swing](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.0` | `0.8.0` |\n| [com.google.protobuf:protobuf-gradle-plugin](https://github.com/google/protobuf-gradle-plugin) | `0.9.5` | `0.10.0` |\n| com.google.protobuf | `0.9.5` | `0.10.0` |\n| androidx.datastore:datastore | `1.1.7` | `1.2.1` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.8` |\n| [uk.kulikov.detekt.decompose:decompose-detekt-rules](https://github.com/LionZXY/detekt-decompose-rule) | `1.0.1` | `2.0.0` |\n| androidx.core:core-splashscreen | `1.1.0-rc01` | `1.2.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.13.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| androidx.compose.ui:ui | `1.8.3` | `1.11.1` |\n| androidx.compose.ui:ui-tooling | `1.8.3` | `1.11.1` |\n| androidx.compose.foundation:foundation | `1.8.3` | `1.11.1` |\n| androidx.compose.material:material | `1.8.3` | `1.11.1` |\n| androidx.wear.compose:compose-material | `1.4.1` | `1.6.1` |\n| androidx.wear.compose:compose-foundation | `1.4.1` | `1.6.1` |\n| [com.google.android.horologist:horologist-compose-layout](https://github.com/google/horologist) | `0.6.23` | `0.7.15` |\n| [tech.annexflow.compose:constraintlayout-compose-multiplatform](https://github.com/lavmee/constraintlayout-compose-multiplatform) | `0.6.0` | `0.7.0` |\n| androidx.paging:paging-compose | `3.3.6` | `3.5.0` |\n| [org.jetbrains.compose:compose-gradle-plugin](https://github.com/JetBrains/compose-jb) | `1.8.2` | `1.10.3` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-svg](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-ktor3](https://github.com/coil-kt/coil) | `3.2.0` | `3.4.0` |\n| [com.vladsch.flexmark:flexmark](https://github.com/vsch/flexmark-java) | `0.42.14` | `0.64.8` |\n| [com.mikepenz:multiplatform-markdown-renderer](https://github.com/mikepenz/multiplatform-markdown-renderer) | `0.35.0` | `0.40.2` |\n| androidx.room:room-runtime | `2.7.2` | `2.8.4` |\n| androidx.room:room-compiler | `2.7.2` | `2.8.4` |\n| androidx.room:room-ktx | `2.7.2` | `2.8.4` |\n| [com.google.dagger:dagger](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [com.google.dagger:dagger-compiler](https://github.com/google/dagger) | `2.56.2` | `2.59.2` |\n| [me.gulya.anvil:annotations](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [me.gulya.anvil:compiler](https://github.com/IlyaGulya/anvil-utils) | `0.3.0-beta03` | `0.4.0` |\n| [dev.zacsweers.anvil:annotations](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:compiler-api](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:compiler](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:compiler-utils](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil:gradle-plugin](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [dev.zacsweers.anvil](https://github.com/zacsweers/anvil) | `0.4.1` | `0.5.4` |\n| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.41.0` |\n| [io.sentry:sentry-android-timber](https://github.com/getsentry/sentry-java) | `8.16.0` | `8.41.0` |\n| [io.sentry:sentry-android-gradle-plugin](https://github.com/getsentry/sentry-android-gradle-plugin) | `5.8.0` | `6.6.0` |\n| [net.lingala.zip4j:zip4j](https://github.com/srikanth-lingala/zip4j) | `2.11.5` | `2.11.6` |\n| [ly.count.android:sdk](https://github.com/Countly/countly-sdk-android) | `25.4.2` | `26.1.2` |\n| org.slf4j:slf4j-api | `1.7.36` | `2.0.17` |\n| androidx.core:core-ktx | `1.16.0` | `1.18.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-runtime | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-service | `2.9.1` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-testing | `2.9.1` | `2.10.0` |\n| [it.unimi.dsi:fastutil](https://github.com/vigna/fastutil) | `8.5.16` | `8.5.18` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.core:core | `1.16.0` | `1.18.0` |\n| [io.ktor:ktor-client-android](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.1.2` | `3.4.3` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.18.0` | `1.22.0` |\n| [no.nordicsemi.android:ble](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [no.nordicsemi.android:ble-common](https://github.com/NordicSemiconductor/Android-BLE-Library) | `2.10.1` | `2.11.0` |\n| [com.fazecast:jSerialComm](https://github.com/Fazecast/jSerialComm) | `2.11.2` | `2.11.4` |\n| [com.airbnb.android:lottie-compose](https://github.com/airbnb/lottie-android) | `6.6.7` | `6.7.1` |\n| com.google.protobuf:protobuf-kotlin-lite | `4.31.1` | `4.34.1` |\n| [com.google.protobuf:protoc](https://github.com/protocolbuffers/protobuf) | `4.31.1` | `4.34.1` |\n| [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) | `5.4.0` | `6.3.0` |\n| [org.robolectric:robolectric](https://github.com/robolectric/robolectric) | `4.15.1` | `4.16.1` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.4` | `1.14.9` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.benchmark:benchmark-macro-junit4 | `1.3.4` | `1.4.1` |\n| androidx.wear:wear | `1.3.0` | `1.4.0` |\n| com.google.android.gms:play-services-wearable | `19.0.0` | `20.0.1` |\n| androidx.wear:wear-remote-interactions | `1.1.0` | `1.2.0` |\n| androidx.work:work-runtime-ktx | `2.10.2` | `2.11.2` |\n| [com.google.firebase:firebase-messaging](https://github.com/firebase/firebase-android-sdk) | `24.1.2` | `25.0.2` |\n| [com.arkivanov.decompose:decompose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.5.0` |\n| [com.arkivanov.decompose:extensions-compose](https://github.com/arkivanov/Decompose) | `3.3.0` | `3.5.0` |\n| [net.engawapg.lib:zoomable](https://github.com/usuiat/Zoomable) | `2.8.1` | `2.11.1` |\n| [com.squareup.okio:okio](https://github.com/square/okio) | `3.14.0` | `3.17.0` |\n| [com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio) | `3.14.0` | `3.17.0` |\n| com.google.gms.google-services | `4.4.3` | `4.4.4` |\n| androidx.baselineprofile | `1.3.4` | `1.4.1` |\n| [com.github.gmazzo.buildconfig](https://github.com/gmazzo/gradle-buildconfig-plugin) | `5.6.7` | `6.0.9` |\n| [com.squareup.wire](https://github.com/square/wire) | `5.3.3` | `6.2.0` |\n\n\nUpdates `gradle-wrapper` from 8.14.2 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.2...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 8.11.0 to 9.2.1\n\nUpdates `com.android.application` from 8.11.0 to 9.2.1\n\nUpdates `com.android.library` from 8.11.0 to 9.2.1\n\nUpdates `com.android.test` from 8.11.0 to 9.2.1\n\nUpdates `com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin` from 2.2.0-2.0.2 to 2.3.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/ksp/releases\"\u003ecom.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped Kotlin target language version to 2.3 (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed crash caused by upstream dependency (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2856\"\u003e#2856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed support for Gradle Isolated Projects (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2844\"\u003e#2844\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.6...2.3.7\"\u003ehttps://github.com/google/ksp/compare/2.3.6...2.3.7\u003c/a\u003e\u003c/p\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/94f210494fd59326857aeed4723947a042a7dd70\"\u003e\u003ccode\u003e94f2104\u003c/code\u003e\u003c/a\u003e Move AnnotationResolutionStrategy-related files to common dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/98fb4c77c9a5076f231f4ab584cc91707f5cbd22\"\u003e\u003ccode\u003e98fb4c7\u003c/code\u003e\u003c/a\u003e Add infrastructure for declaring test annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/25c30c398cb16a71c4cde9e3ee8b08c9e6feed7f\"\u003e\u003ccode\u003e25c30c3\u003c/code\u003e\u003c/a\u003e Update test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/cd0eb1996f1267997d7053de4e94c65fd852120e\"\u003e\u003ccode\u003ecd0eb19\u003c/code\u003e\u003c/a\u003e Update AnnotationsInDependenciesProcessor output with line numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a7d8da2fd11c9bcd1f092cb8a22f5de1baceb46\"\u003e\u003ccode\u003e1a7d8da\u003c/code\u003e\u003c/a\u003e Fix crash in \u003ccode\u003ePsiResolutionStrategy\u003c/code\u003e for annotations with nullable fqn (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2864\"\u003e#2864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/3a5f8660cd3cc40f2622e10277a9878a5195c8d2\"\u003e\u003ccode\u003e3a5f866\u003c/code\u003e\u003c/a\u003e Remove KtEntry type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0b3b39e1020a25c8d6b61d3921de794e3d550fde\"\u003e\u003ccode\u003e0b3b39e\u003c/code\u003e\u003c/a\u003e Update codeowners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/8b309d5592a9bb82d8d436f5a4daac1cde9535b8\"\u003e\u003ccode\u003e8b309d5\u003c/code\u003e\u003c/a\u003e Add more information to error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/f50f2f73a7330b01b3f7215a8843edd1193abdb5\"\u003e\u003ccode\u003ef50f2f7\u003c/code\u003e\u003c/a\u003e Add comment on performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e142fd7ec3db1ba6a4f048e24d58a5cfa8ad5a14\"\u003e\u003ccode\u003ee142fd7\u003c/code\u003e\u003c/a\u003e Handle missing cases in CollectAnnotatedSymbolsPsiVisitor\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.7\"\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.7\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.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped Kotlin target language version to 2.3 (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed crash caused by upstream dependency (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2856\"\u003e#2856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed support for Gradle Isolated Projects (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2844\"\u003e#2844\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.6...2.3.7\"\u003ehttps://github.com/google/ksp/compare/2.3.6...2.3.7\u003c/a\u003e\u003c/p\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/94f210494fd59326857aeed4723947a042a7dd70\"\u003e\u003ccode\u003e94f2104\u003c/code\u003e\u003c/a\u003e Move AnnotationResolutionStrategy-related files to common dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/98fb4c77c9a5076f231f4ab584cc91707f5cbd22\"\u003e\u003ccode\u003e98fb4c7\u003c/code\u003e\u003c/a\u003e Add infrastructure for declaring test annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/25c30c398cb16a71c4cde9e3ee8b08c9e6feed7f\"\u003e\u003ccode\u003e25c30c3\u003c/code\u003e\u003c/a\u003e Update test output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/cd0eb1996f1267997d7053de4e94c65fd852120e\"\u003e\u003ccode\u003ecd0eb19\u003c/code\u003e\u003c/a\u003e Update AnnotationsInDependenciesProcessor output with line numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/1a7d8da2fd11c9bcd1f092cb8a22f5de1baceb46\"\u003e\u003ccode\u003e1a7d8da\u003c/code\u003e\u003c/a\u003e Fix crash in \u003ccode\u003ePsiResolutionStrategy\u003c/code\u003e for annotations with nullable fqn (\u003ca href=\"https://redirect.github.com/google/ksp/issues/2864\"\u003e#2864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/3a5f8660cd3cc40f2622e10277a9878a5195c8d2\"\u003e\u003ccode\u003e3a5f866\u003c/code\u003e\u003c/a\u003e Remove KtEntry type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/0b3b39e1020a25c8d6b61d3921de794e3d550fde\"\u003e\u003ccode\u003e0b3b39e\u003c/code\u003e\u003c/a\u003e Update codeowners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/8b309d5592a9bb82d8d436f5a4daac1cde9535b8\"\u003e\u003ccode\u003e8b309d5\u003c/code\u003e\u003c/a\u003e Add more information to error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/f50f2f73a7330b01b3f7215a8843edd1193abdb5\"\u003e\u003ccode\u003ef50f2f7\u003c/code\u003e\u003c/a\u003e Add comment on performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/ksp/commit/e142fd7ec3db1ba6a4f048e24d58a5cfa8ad5a14\"\u003e\u003ccode\u003ee142fd7\u003c/code\u003e\u003c/a\u003e Handle missing cases in CollectAnnotatedSymbolsPsiVisitor\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.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-annotation-processing-embeddable` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-annotation-processing-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-annotation-processing-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-compiler-embeddable` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-compiler-embeddable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-compiler-embeddable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.2.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/...\n\n_Description has been truncated_","html_url":"https://github.com/BIBLETUM/FlipperAppKekw/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BIBLETUM%2FFlipperAppKekw/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"8.13.0","new_version":"9.2.1","update_type":"major","path":null,"pr_created_at":"2026-05-08T21:23:24.000Z","version_change":"8.13.0 → 9.2.1","issue":{"uuid":"4409481213","node_id":"PR_kwDOSYNDU87ZsQmk","number":1,"state":"closed","title":"Bump the maven-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-15T23:57:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T21:23:24.000Z","updated_at":"2026-05-15T23:57:18.000Z","time_to_close":614032,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven-dependencies","update_count":5,"packages":[{"name":"gradle-wrapper","old_version":"9.0.0","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.18.0"},{"name":"com.android.application","old_version":"8.13.0","new_version":"9.2.1"},{"name":"com.android.library","old_version":"8.13.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.0","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.0.0` | `9.5.0` |\n| androidx.core:core-ktx | `1.17.0` | `1.18.0` |\n| com.android.application | `8.13.0` | `9.2.1` |\n| com.android.library | `8.13.0` | `9.2.1` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.0` | `2.3.21` |\n\n\nUpdates `gradle-wrapper` from 9.0.0 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.0.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.18.0\n\nUpdates `com.android.application` from 8.13.0 to 9.2.1\n\nUpdates `com.android.library` from 8.13.0 to 9.2.1\n\nUpdates `com.android.library` from 8.13.0 to 9.2.1\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.0 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/TanakaLun/Fuck-In-okio/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanakaLun%2FFuck-In-okio/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"}},{"old_version":"8.13.1","new_version":"9.2.1","update_type":"major","path":null,"pr_created_at":"2026-05-08T20:52:24.000Z","version_change":"8.13.1 → 9.2.1","issue":{"uuid":"4409318670","node_id":"PR_kwDOSP0HYc7Zrt1l","number":3,"state":"closed","title":"Bump the maven group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T20:47:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T20:52:24.000Z","updated_at":"2026-06-08T20:47:42.000Z","time_to_close":2678116,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":21,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.1"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.1"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.1"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"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":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.0` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.1` |\n| com.android.library | `8.13.1` | `9.2.1` |\n| com.android.application | `8.13.1` | `9.2.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.1\n\nUpdates `com.android.library` from 8.13.1 to 9.2.1\n\nUpdates `com.android.application` from 8.13.1 to 9.2.1\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\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.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes 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/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e 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/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters 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/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. 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/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. 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/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\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/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\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.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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:kotlin-stdlib` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.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 arb\nitrary 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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/Prasanthch1976/Vector-migrated-java23-20260429-170846/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prasanthch1976%2FVector-migrated-java23-20260429-170846/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"8.10.1","new_version":"9.2.0","update_type":"major","path":null,"pr_created_at":"2026-05-04T06:11:20.000Z","version_change":"8.10.1 → 9.2.0","issue":{"uuid":"4374365811","node_id":"PR_kwDOJrlti87X5L9i","number":76,"state":"open","title":"Bump the maven-dependencies group with 9 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-05-04T06:11:20.000Z","updated_at":"2026-05-04T06:11:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven-dependencies","update_count":9,"packages":[{"name":"gradle-wrapper","old_version":"8.6","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.18.0"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.13.0"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.13.0"},{"name":"com.android.application","old_version":"8.10.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.10.1","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.1.21","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.android","old_version":"2.1.21","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.1.21","new_version":"2.3.21"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.6` | `9.5.0` |\n| androidx.core:core-ktx | `1.16.0` | `1.18.0` |\n| androidx.activity:activity | `1.10.1` | `1.13.0` |\n| androidx.activity:activity-compose | `1.10.1` | `1.13.0` |\n| com.android.application | `8.10.1` | `9.2.0` |\n| com.android.library | `8.10.1` | `9.2.0` |\n| org.jetbrains.kotlin.multiplatform | `2.1.21` | `2.3.21` |\n| org.jetbrains.kotlin.android | `2.1.21` | `2.3.21` |\n| org.jetbrains.kotlin.plugin.serialization | `2.1.21` | `2.3.21` |\n\nUpdates `gradle-wrapper` from 8.6 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.6.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.16.0 to 1.18.0\n\nUpdates `androidx.activity:activity` from 1.10.1 to 1.13.0\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.13.0\n\nUpdates `com.android.application` from 8.10.1 to 9.2.0\n\nUpdates `com.android.library` from 8.10.1 to 9.2.0\n\nUpdates `com.android.library` from 8.10.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.21 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.21 to 2.3.21\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/ohyooo/KMM/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohyooo%2FKMM/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"}},{"old_version":"8.7.3","new_version":"9.2.0","update_type":"major","path":"/android","pr_created_at":"2026-05-02T08:09:50.000Z","version_change":"8.7.3 → 9.2.0","issue":{"uuid":"4368412880","node_id":"PR_kwDORRiXc87Xngi8","number":71,"state":"open","title":"chore(deps): bump com.android.library from 8.7.3 to 9.2.0 in /android","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-02T08:09:50.000Z","updated_at":"2026-05-02T08:11:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"com.android.library","old_version":"8.7.3","new_version":"9.2.0","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps com.android.library from 8.7.3 to 9.2.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.library\u0026package-manager=gradle\u0026previous-version=8.7.3\u0026new-version=9.2.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/mp0rta/mqvpn/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mp0rta%2Fmqvpn/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}},{"old_version":"9.1.1","new_version":"9.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-28T02:58:06.000Z","version_change":"9.1.1 → 9.2.0","issue":{"uuid":"4340266835","node_id":"PR_kwDOQHtkp87WL5HG","number":70,"state":"closed","title":"build(deps): bump the version-updates group with 7 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-05T03:23:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-28T02:58:06.000Z","updated_at":"2026-05-05T03:23:46.000Z","time_to_close":606338,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"version-updates","update_count":7,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.03.01","new_version":"2026.04.01"},{"name":"com.android.application","old_version":"9.1.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"9.1.1","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.20","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.20","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.3.21"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.20","new_version":"2.3.21"}],"path":null,"ecosystem":"maven"},"body":"Bumps the version-updates group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.03.01` | `2026.04.01` |\n| com.android.application | `9.1.1` | `9.2.0` |\n| com.android.library | `9.1.1` | `9.2.0` |\n| org.jetbrains.kotlin.android | `2.3.20` | `2.3.21` |\n| org.jetbrains.kotlin.plugin.compose | `2.3.20` | `2.3.21` |\n| org.jetbrains.kotlin.plugin.serialization | `2.3.20` | `2.3.21` |\n| org.jetbrains.kotlin.jvm | `2.3.20` | `2.3.21` |\n\nUpdates `androidx.compose:compose-bom` from 2026.03.01 to 2026.04.01\n\nUpdates `com.android.application` from 9.1.1 to 9.2.0\n\nUpdates `com.android.library` from 9.1.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\nUpdates `com.android.library` from 9.1.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\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/oneQAQone/QFun/pull/70","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneQAQone%2FQFun/issues/70","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/70/packages"}},{"old_version":"9.1.0","new_version":"9.2.0","update_type":"minor","path":null,"pr_created_at":"2026-04-25T13:51:40.000Z","version_change":"9.1.0 → 9.2.0","issue":{"uuid":"4328266207","node_id":"PR_kwDORVRHzs7VmYFz","number":116,"state":"open","title":"chore(deps): Bump the android-dependencies group across 1 directory with 16 updates","user":"dependabot[bot]","labels":["dependencies","android"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T13:51:40.000Z","updated_at":"2026-05-02T15:00:48.491Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"android-dependencies","update_count":16,"packages":[{"name":"androidx.compose:compose-bom","old_version":"2026.03.01","new_version":"2026.04.01"},{"name":"androidx.navigation:navigation-compose","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"io.ktor:ktor-server-core","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-cio","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-websockets","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"com.google.guava:guava","old_version":"33.5.0-android","new_version":"33.6.0-android","repository_url":"https://github.com/google/guava"},{"name":"com.android.tools.build:gradle","old_version":"9.1.0","new_version":"9.2.0"},{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.0"},{"name":"com.android.library","old_version":"9.1.0","new_version":"9.2.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:compose-compiler-gradle-plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.3.6","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.3.6","new_version":"2.3.7","repository_url":"https://github.com/google/ksp"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-dependencies group with 16 updates in the /android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| androidx.compose:compose-bom | `2026.03.01` | `2026.04.01` |\n| androidx.navigation:navigation-compose | `2.9.7` | `2.9.8` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-cio](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-websockets](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [com.google.guava:guava](https://github.com/google/guava) | `33.5.0-android` | `33.6.0-android` |\n| com.android.tools.build:gradle | `9.1.0` | `9.2.0` |\n| com.android.application | `9.1.0` | `9.2.0` |\n| com.android.library | `9.1.0` | `9.2.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin:compose-compiler-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.3.6` | `2.3.7` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.6` | `2.3.7` |\n\n\nUpdates `androidx.compose:compose-bom` from 2026.03.01 to 2026.04.01\n\nUpdates `androidx.navigation:navigation-compose` from 2.9.7 to 2.9.8\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\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.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes 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/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e 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/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters 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/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. 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/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. 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/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\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/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\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.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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.4.2 to 3.4.3\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.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/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.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-cio` from 3.4.2 to 3.4.3\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-cio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-cio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-websockets` from 3.4.2 to 3.4.3\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-websockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-websockets's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-cio` from 3.4.2 to 3.4.3\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-cio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-cio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-websockets` from 3.4.2 to 3.4.3\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-websockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-websockets's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.guava:guava` from 33.5.0-android to 33.6.0-android\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/guava/releases\"\u003ecom.google.guava:guava's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e33.6.0\u003c/h2\u003e\n\u003ch3\u003eMaven\u003c/h3\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e\u0026lt;dependency\u0026gt;\r\n  \u0026lt;groupId\u0026gt;com.google.guava\u0026lt;/groupId\u0026gt;\r\n  \u0026lt;artifactId\u0026gt;guava\u0026lt;/artifactId\u0026gt;\r\n  \u0026lt;version\u0026gt;33.6.0-jre\u0026lt;/version\u0026gt;\r\n  \u0026lt;!-- or, for Android: --\u0026gt;\r\n  \u0026lt;version\u0026gt;33.6.0-android\u0026lt;/version\u0026gt;\r\n\u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eJar files\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://repo1.maven.org/maven2/com/google/guava/guava/33.6.0-jre/guava-33.6.0-jre.jar\"\u003e33.6.0-jre.jar\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://repo1.maven.org/maven2/com/google/guava/guava/33.6.0-android/guava-33.6.0-android.jar\"\u003e33.6.0-android.jar\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGuava requires \u003ca href=\"https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies\"\u003eone runtime dependency\u003c/a\u003e, which you can download here:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3.jar\"\u003efailureaccess-1.0.3.jar\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavadoc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-jre/api/docs/\"\u003e33.6.0-jre\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-android/api/docs/\"\u003e33.6.0-android\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJDiff\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-jre/api/diffs/\"\u003e33.6.0-jre vs. 33.5.0-jre\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-android/api/diffs/\"\u003e33.6.0-android vs. 33.5.0-android\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://guava.dev/releases/33.6.0-android/api/androiddiffs/\"\u003e33.6.0-android vs. 33.6.0-jre\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated some classes from \u003ccode\u003efinalize()\u003c/code\u003e to \u003ccode\u003ePhantomReference\u003c/code\u003e in preparation for \u003ca href=\"https://openjdk.org/jeps/421\"\u003ethe removal of finalization\u003c/a\u003e. (786b619dd6, 7c6b17c, aeef90988d)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecache\u003c/code\u003e: Deprecated \u003ccode\u003eCacheBuilder\u003c/code\u003e APIs that use \u003ccode\u003eTimeUnit\u003c/code\u003e in favor of those that use \u003ccode\u003eDuration\u003c/code\u003e. (73f8b0bb84)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecollect\u003c/code\u003e: Added \u003ccode\u003etoImmutableSortedMap\u003c/code\u003e collectors that use the natural comparator. (64d70b9f94)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecollect\u003c/code\u003e: Changed \u003ccode\u003eConcurrentHashMultiset\u003c/code\u003e, \u003ccode\u003eImmutableMap\u003c/code\u003e and \u003ccode\u003eTreeMultiset\u003c/code\u003e deserialization to \u003ca href=\"https://openjdk.org/jeps/500\"\u003eavoid mutating \u003ccode\u003efinal\u003c/code\u003e fields\u003c/a\u003e. In extremely unlikely scenarios in which an instance of that type contains an object that refers back to that instance, this could lead to \u003ca href=\"https://docs.oracle.com/en/java/javase/26/docs/specs/serialization/input.html#the-readresolve-method:~:text=in%20cases%20where%20an%20object%20being%20serialized%20nominates%20a%20replacement%20object%20whose%20object%20graph%20has%20a%20reference%20to%20the%20original%20object\"\u003ea broken instance\u003c/a\u003e that throws \u003ccode\u003eNullPointerException\u003c/code\u003e when used. (8240c7e596, 046468055f)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egraph\u003c/code\u003e: Removed \u003ccode\u003e@Beta\u003c/code\u003e from all APIs in the package. (dae9566b73)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egraph\u003c/code\u003e: Added support to \u003ccode\u003eGraphs.transitiveClosure()\u003c/code\u003e for different strategies for adding self-loops. (2e13df25b2)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egraph\u003c/code\u003e: Added an \u003ccode\u003easNetwork()\u003c/code\u003e view to \u003ccode\u003eGraph\u003c/code\u003e and \u003ccode\u003eValueGraph\u003c/code\u003e. (909c593c61)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehash\u003c/code\u003e: Added \u003ccode\u003eBloomFilter.serializedSize()\u003c/code\u003e. (df9bcc251a)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enet\u003c/code\u003e: Added \u003ccode\u003eHttpHeaders.CDN_CACHE_CONTROL\u003c/code\u003e. (75331b5030)\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\u003eSee full diff in \u003ca href=\"https://github.com/google/guava/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:gradle` from 9.1.0 to 9.2.0\n\nUpdates `com.android.application` from 9.1.0 to 9.2.0\n\nUpdates `com.android.library` from 9.1.0 to 9.2.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:compose-compiler-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;...\n\n_Description has been truncated_","html_url":"https://github.com/Hiosdra/OpenAnchor/pull/116","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiosdra%2FOpenAnchor/issues/116","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/116/packages"}},{"old_version":"8.13.1","new_version":"9.2.0","update_type":"major","path":null,"pr_created_at":"2026-04-24T05:31:42.000Z","version_change":"8.13.1 → 9.2.0","issue":{"uuid":"4320757874","node_id":"PR_kwDORlLPI87VOFjH","number":10,"state":"closed","title":"Bump the maven group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T06:19:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T05:31:42.000Z","updated_at":"2026-05-11T06:19:28.000Z","time_to_close":1471664,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":19,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.0` |\n| com.android.library | `8.13.1` | `9.2.0` |\n| com.android.application | `8.13.1` | `9.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.0\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\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.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes 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/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e 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/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters 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/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. 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/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. 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/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\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/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\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.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.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:kotlin-stdlib` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrai...\n\n_Description has been truncated_","html_url":"https://github.com/Kaviarasia/LSPosed-migrated-java17-20260312-180138/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaviarasia%2FLSPosed-migrated-java17-20260312-180138/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"8.13.1","new_version":"9.2.0","update_type":"major","path":null,"pr_created_at":"2026-04-23T02:41:07.000Z","version_change":"8.13.1 → 9.2.0","issue":{"uuid":"4313084001","node_id":"PR_kwDOR9z6tM7U1ABe","number":5,"state":"closed","title":"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-04-24T02:37:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T02:41:07.000Z","updated_at":"2026-04-24T02:37:54.000Z","time_to_close":86205,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.0` |\n| com.android.library | `8.13.1` | `9.2.0` |\n| com.android.application | `8.13.1` | `9.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.0\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.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:kotlin-stdlib` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `com.ncorti.ktfmt.gradle` from 0.25.0 to 0.26.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 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 ...\n\n_Description has been truncated_","html_url":"https://github.com/Rhythm312/LSPOSED/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rhythm312%2FLSPOSED/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"8.13.1","new_version":"9.2.0","update_type":"major","path":null,"pr_created_at":"2026-04-22T20:41:47.000Z","version_change":"8.13.1 → 9.2.0","issue":{"uuid":"4311749881","node_id":"PR_kwDORl2Bo87UwvUO","number":9,"state":"closed","title":"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-04-23T20:38:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-22T20:41:47.000Z","updated_at":"2026-04-23T20:38:23.000Z","time_to_close":86194,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"androidx.navigation:navigation-fragment","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation:navigation-ui","old_version":"2.9.7","new_version":"2.9.8"},{"name":"androidx.navigation.safeargs","old_version":"2.9.7","new_version":"2.9.8"},{"name":"com.github.bumptech.glide:glide","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.github.bumptech.glide:compiler","old_version":"5.0.5","new_version":"5.0.7","repository_url":"https://github.com/bumptech/glide"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.2.0"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| androidx.navigation:navigation-fragment | `2.9.7` | `2.9.8` |\n| androidx.navigation:navigation-ui | `2.9.7` | `2.9.8` |\n| androidx.navigation.safeargs | `2.9.7` | `2.9.8` |\n| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `5.0.5` | `5.0.7` |\n| com.android.tools.build:apksig | `8.13.1` | `9.2.0` |\n| com.android.library | `8.13.1` | `9.2.0` |\n| com.android.application | `8.13.1` | `9.2.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `androidx.navigation:navigation-fragment` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `androidx.navigation:navigation-ui` from 2.9.7 to 2.9.8\n\nUpdates `com.github.bumptech.glide:glide` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:glide's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.bumptech.glide:compiler` from 5.0.5 to 5.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bumptech/glide/releases\"\u003ecom.github.bumptech.glide:compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGlide v5.0.7\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing version bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.6...v5.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eGlide v5.0.6\u003c/h2\u003e\n\u003ch2\u003eCompose\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKTX\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVersion bump to 1.0.0-beta09\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cp\u003eN/A\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5669\"\u003ebumptech/glide#5669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop appending requireOriginal to URIs loaded by Glide on Android R+. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5668\"\u003ebumptech/glide#5668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverting a second set of Groovy Gradle files to Kotlin DSL. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5639\"\u003ebumptech/glide#5639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate from Robolectric's Util.readBytes to Guava ByteStreams. See \u003ca href=\"https://redirect.github.com/bumptech/glide/pull/5636\"\u003ebumptech/glide#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\"\u003ehttps://github.com/bumptech/glide/compare/v5.0.5...v5.0.6\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/bumptech/glide/commit/c751c283ed852f73b7fd6f0ed8ba5b8b7e452b38\"\u003e\u003ccode\u003ec751c28\u003c/code\u003e\u003c/a\u003e Bump to 5.0.7 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5673\"\u003e#5673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/91f33f02ce5317075066a14e16038dd573d492fb\"\u003e\u003ccode\u003e91f33f0\u003c/code\u003e\u003c/a\u003e Bump ktx and compose versions to 1.0.0-beta09 (\u003ca href=\"https://redirect.github.com/bumptech/glide/issues/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c17a83cf5691671e13df259dd251f65a47007281\"\u003e\u003ccode\u003ec17a83c\u003c/code\u003e\u003c/a\u003e Update isAndroidPickerUri to support new picker URI variations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/c0a2dd4b1f7fa1f4d06474e660f921d80b6a9f2d\"\u003e\u003ccode\u003ec0a2dd4\u003c/code\u003e\u003c/a\u003e Stop appending requireOriginal to URIs loaded by Glide on Android R+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/03ab8ba0168110d53d41267096663b5c8751a5b4\"\u003e\u003ccode\u003e03ab8ba\u003c/code\u003e\u003c/a\u003e A trim level of TRIM_MEMORY_UI_HIDDEN is applicable to a process with a state...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d4278e03c08216c49f0cf6147447693eaadb30fb\"\u003e\u003ccode\u003ed4278e0\u003c/code\u003e\u003c/a\u003e Bump Gradle to 8.14.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/b12f574fd6ea20430c55c5a2eb29d624d843bf3e\"\u003e\u003ccode\u003eb12f574\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/82657e94c17267743b866ce475d98f33dd551955\"\u003e\u003ccode\u003e82657e9\u003c/code\u003e\u003c/a\u003e No public description\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/d5915398eb200c6795aa3bfbcc4c6c2db1cf8b06\"\u003e\u003ccode\u003ed591539\u003c/code\u003e\u003c/a\u003e Allow limiting the size of LruBitmapPool/MemoryCache when in background\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bumptech/glide/commit/5e158121a6cac01503f1e0f6c312aa241f045552\"\u003e\u003ccode\u003e5e15812\u003c/code\u003e\u003c/a\u003e Converting a second set of Groovy Gradle files to Kotlin DSL.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bumptech/glide/compare/v5.0.5...v5.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.2.0\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.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:kotlin-stdlib` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.2.0\n\nUpdates `com.android.application` from 8.13.1 to 9.2.0\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.navigation.safeargs` from 2.9.7 to 2.9.8\n\nUpdates `com.ncorti.ktfmt.gradle` from 0.25.0 to 0.26.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 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 ...\n\n_Description has been truncated_","html_url":"https://github.com/Kaviarasia/LSPosed-migrated-java22-20260313-114436/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaviarasia%2FLSPosed-migrated-java22-20260313-114436/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"9.1.0","new_version":"9.1.1","update_type":"patch","path":null,"pr_created_at":"2026-04-20T16:27:12.000Z","version_change":"9.1.0 → 9.1.1","issue":{"uuid":"4297175971","node_id":"PR_kwDORN4Tks7UBetV","number":24,"state":"open","title":"chore(deps): bump the all-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T16:27:12.000Z","updated_at":"2026-04-25T06:06:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":13,"packages":[{"name":"com.android.library","old_version":"9.1.0","new_version":"9.1.1"},{"name":"com.android.application","old_version":"9.1.0","new_version":"9.1.1"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.twilio.sdk:twilio","old_version":"11.3.6","new_version":"11.4.0","repository_url":"https://github.com/twilio/twilio-java"},{"name":"io.sentry:sentry-spring-boot-4","old_version":"8.37.1","new_version":"8.39.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"io.insert-koin:koin-core","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-compose","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-test","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"com.google.firebase:firebase-bom","old_version":"34.11.0","new_version":"34.12.0"},{"name":"io.sentry:sentry-android","old_version":"8.37.1","new_version":"8.39.1","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.livekit:livekit-android","old_version":"2.24.0","new_version":"2.24.1","repository_url":"https://github.com/livekit/client-sdk-android"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.library | `9.1.0` | `9.1.1` |\n| com.android.application | `9.1.0` | `9.1.1` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.10.0` | `1.11.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [com.twilio.sdk:twilio](https://github.com/twilio/twilio-java) | `11.3.6` | `11.4.0` |\n| [io.sentry:sentry-spring-boot-4](https://github.com/getsentry/sentry-java) | `8.37.1` | `8.39.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| [io.insert-koin:koin-core](https://github.com/InsertKoinIO/koin) | `4.2.0` | `4.2.1` |\n| [io.insert-koin:koin-compose](https://github.com/InsertKoinIO/koin) | `4.2.0` | `4.2.1` |\n| [io.insert-koin:koin-test](https://github.com/InsertKoinIO/koin) | `4.2.0` | `4.2.1` |\n| com.google.firebase:firebase-bom | `34.11.0` | `34.12.0` |\n| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.37.1` | `8.39.1` |\n| [io.livekit:livekit-android](https://github.com/livekit/client-sdk-android) | `2.24.0` | `2.24.1` |\n\n\nUpdates `com.android.library` from 9.1.0 to 9.1.1\n\nUpdates `com.android.application` from 9.1.0 to 9.1.1\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.10.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.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\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.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\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.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.10.0...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.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\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/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\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/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.twilio.sdk:twilio` from 11.3.6 to 11.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/twilio/twilio-java/releases\"\u003ecom.twilio.sdk:twilio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003cstrong\u003eRelease Notes\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Chore\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/949\"\u003e#949\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/949\"\u003etwilio/twilio-java#949\u003c/a\u003e): add ISO8601Serializer. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/948\"\u003e#948\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/948\"\u003etwilio/twilio-java#948\u003c/a\u003e): add page without meta. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Feature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/947\"\u003e#947\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/947\"\u003etwilio/twilio-java#947\u003c/a\u003e): Added ResourceDeleter. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTwiml\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebackgroundNoiseReduction\u003c/code\u003e, \u003ccode\u003espeechTimeout\u003c/code\u003e, \u003ccode\u003edeepgramSmartFormat\u003c/code\u003e, \u003ccode\u003eignoreBackchannel\u003c/code\u003e, \u003ccode\u003eevents\u003c/code\u003e attributes to \u003ccode\u003e\u0026lt;ConversationRelay\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eApi\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnabled incoming phone numbers(IPN) public apis in stage-ie1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eData-ingress\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded parameter(s) to \u003ccode\u003eGetDataSync\u003c/code\u003e: datasetId\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetCloudAppPreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetWarehousePreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetDataSampleResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-27\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd schema oneOf back without discriminator\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded prod-us1 to supportedRealms for all endpoints\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-25\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-24\u003c/h2\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/twilio/twilio-java/blob/main/CHANGES.md\"\u003ecom.twilio.sdk:twilio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2026-04-14] Version 11.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Chore\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/949\"\u003e#949\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/949\"\u003etwilio/twilio-java#949\u003c/a\u003e): add ISO8601Serializer. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/948\"\u003e#948\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/948\"\u003etwilio/twilio-java#948\u003c/a\u003e): add page without meta. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary - Feature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[PR \u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/947\"\u003e#947\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/twilio/twilio-java/pull/947\"\u003etwilio/twilio-java#947\u003c/a\u003e): Added ResourceDeleter. Thanks to \u003ca href=\"https://github.com/manisha1997\"\u003e\u003ccode\u003e@​manisha1997\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eTwiml\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebackgroundNoiseReduction\u003c/code\u003e, \u003ccode\u003espeechTimeout\u003c/code\u003e, \u003ccode\u003edeepgramSmartFormat\u003c/code\u003e, \u003ccode\u003eignoreBackchannel\u003c/code\u003e, \u003ccode\u003eevents\u003c/code\u003e attributes to \u003ccode\u003e\u0026lt;ConversationRelay\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eApi\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnabled incoming phone numbers(IPN) public apis in stage-ie1\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eData-ingress\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded parameter(s) to \u003ccode\u003eGetDataSync\u003c/code\u003e: datasetId\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-09\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eCloudAppDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseSourceUpdate\u003c/code\u003e: config\u003c/li\u003e\n\u003cli\u003eAdded properties to \u003ccode\u003eWarehouseDatasetUpdate\u003c/code\u003e: schedule\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-04-06\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent updates\u003c/strong\u003e:\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetCloudAppPreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetWarehousePreviewResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdated description for \u003ccode\u003eGetDataSampleResult\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-27\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd schema oneOf back without discriminator\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-26\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded prod-us1 to supportedRealms for all endpoints\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-25\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003cli\u003e\n\u003ch2\u003e2026-03-24\u003c/h2\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor updates (formatting, metadata)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/c2d3cc758f1cc18ecd987cc586671611e1318e8d\"\u003e\u003ccode\u003ec2d3cc7\u003c/code\u003e\u003c/a\u003e Release 11.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/132633bfdd5bfa13f75d538e37e0130008665f4d\"\u003e\u003ccode\u003e132633b\u003c/code\u003e\u003c/a\u003e [Librarian] Regenerated @ 40ca64a22aef42a337cb49d1d4e4c4f48ae3b6e4 21ed5806ef...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/07484b9c0971e43293e3f4e7cff56a8857c96a55\"\u003e\u003ccode\u003e07484b9\u003c/code\u003e\u003c/a\u003e chore: add ISO8601Serializer (\u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/203eea97c9dac3f0897ebf16e7397b12d0602f76\"\u003e\u003ccode\u003e203eea9\u003c/code\u003e\u003c/a\u003e chore: add page without meta (\u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twilio/twilio-java/commit/445b10233374245f45cf3dae654f20d194423ff4\"\u003e\u003ccode\u003e445b102\u003c/code\u003e\u003c/a\u003e feat: Added ResourceDeleter (\u003ca href=\"https://redirect.github.com/twilio/twilio-java/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/twilio/twilio-java/compare/11.3.6...11.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-4` from 8.37.1 to 8.39.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.39.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJsonObjectReader\u003c/code\u003e and \u003ccode\u003eMapObjectReader\u003c/code\u003e hanging indefinitely when deserialization errors leave the reader in an inconsistent state (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5293\"\u003e#5293\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eFailed collection values are now skipped so parsing can continue\u003c/li\u003e\n\u003cli\u003eSkipped collection values emit \u003ccode\u003eWARNING\u003c/code\u003e logs\u003c/li\u003e\n\u003cli\u003eUnknown-key failures and unrecoverable recovery failures emit \u003ccode\u003eERROR\u003c/code\u003e logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.39.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix ANR caused by \u003ccode\u003eGestureDetectorCompat\u003c/code\u003e Handler/MessageQueue lock contention in \u003ccode\u003eSentryWindowCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5138\"\u003e#5138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump AGP version from v8.6.0 to v8.13.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.3 to v0.13.6 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5277\"\u003e#5277\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0136\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.3...0.13.6\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v8.14.3 to v9.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v941\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.3...v9.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.38.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent cross-organization trace continuation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5136\"\u003e#5136\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eBy default, the SDK now extracts the organization ID from the DSN (e.g. \u003ccode\u003eo123.ingest.sentry.io\u003c/code\u003e) and compares it with the \u003ccode\u003esentry-org_id\u003c/code\u003e value in incoming baggage headers. When the two differ, the SDK starts a fresh trace instead of continuing the foreign one. This guards against accidentally linking traces across organizations.\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eenableStrictTraceContinuation\u003c/code\u003e (default \u003ccode\u003efalse\u003c/code\u003e): when enabled, both the SDK's org ID \u003cstrong\u003eand\u003c/strong\u003e the incoming baggage org ID must be present and match for a trace to be continued. Traces with a missing org ID on either side are rejected. Configurable via code (\u003ccode\u003esetStrictTraceContinuation(true)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eenable-strict-trace-continuation=true\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.strict-trace-continuation.enabled\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.strict-trace-continuation=true\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eorgId\u003c/code\u003e: allows explicitly setting the organization ID for self-hosted and Relay setups where it cannot be extracted from the DSN. Configurable via code (\u003ccode\u003esetOrgId(\u0026quot;123\u0026quot;)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eorg-id=123\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.org-id\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.org-id=123\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAndroid: Attachments on the scope will now be synced to native (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5211\"\u003e#5211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd THIRD_PARTY_NOTICES.md for vendored third-party code, bundled as SENTRY_THIRD_PARTY_NOTICES.md in the sentry JAR under META-INF (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDo not retrieve \u003ccode\u003eActivityManager\u003c/code\u003e if API \u0026lt; 35 on SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5275\"\u003e#5275\u003c/a\u003e)\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-4's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.39.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJsonObjectReader\u003c/code\u003e and \u003ccode\u003eMapObjectReader\u003c/code\u003e hanging indefinitely when deserialization errors leave the reader in an inconsistent state (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5293\"\u003e#5293\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eFailed collection values are now skipped so parsing can continue\u003c/li\u003e\n\u003cli\u003eSkipped collection values emit \u003ccode\u003eWARNING\u003c/code\u003e logs\u003c/li\u003e\n\u003cli\u003eUnknown-key failures and unrecoverable recovery failures emit \u003ccode\u003eERROR\u003c/code\u003e logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.39.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix ANR caused by \u003ccode\u003eGestureDetectorCompat\u003c/code\u003e Handler/MessageQueue lock contention in \u003ccode\u003eSentryWindowCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5138\"\u003e#5138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump AGP version from v8.6.0 to v8.13.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.3 to v0.13.6 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5277\"\u003e#5277\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0136\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.3...0.13.6\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v8.14.3 to v9.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5063\"\u003e#5063\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v941\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.3...v9.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.38.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent cross-organization trace continuation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5136\"\u003e#5136\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eBy default, the SDK now extracts the organization ID from the DSN (e.g. \u003ccode\u003eo123.ingest.sentry.io\u003c/code\u003e) and compares it with the \u003ccode\u003esentry-org_id\u003c/code\u003e value in incoming baggage headers. When the two differ, the SDK starts a fresh trace instead of continuing the foreign one. This guards against accidentally linking traces across organizations.\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eenableStrictTraceContinuation\u003c/code\u003e (default \u003ccode\u003efalse\u003c/code\u003e): when enabled, both the SDK's org ID \u003cstrong\u003eand\u003c/strong\u003e the incoming baggage org ID must be present and match for a trace to be continued. Traces with a missing org ID on either side are rejected. Configurable via code (\u003ccode\u003esetStrictTraceContinuation(true)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eenable-strict-trace-continuation=true\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.strict-trace-continuation.enabled\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.strict-trace-continuation=true\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003eorgId\u003c/code\u003e: allows explicitly setting the organization ID for self-hosted and Relay setups where it cannot be extracted from the DSN. Configurable via code (\u003ccode\u003esetOrgId(\u0026quot;123\u0026quot;)\u003c/code\u003e), \u003ccode\u003esentry.properties\u003c/code\u003e (\u003ccode\u003eorg-id=123\u003c/code\u003e), Android manifest (\u003ccode\u003eio.sentry.org-id\u003c/code\u003e), or Spring Boot (\u003ccode\u003esentry.org-id=123\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAndroid: Attachments on the scope will now be synced to native (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5211\"\u003e#5211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd THIRD_PARTY_NOTICES.md for vendored third-party code, bundled as SENTRY_THIRD_PARTY_NOTICES.md in the sentry JAR under META-INF (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5186\"\u003e#5186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDo not retrieve \u003ccode\u003eActivityManager\u003c/code\u003e if API \u0026lt; 35 on SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5275\"\u003e#5275\u003c/a\u003e)\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/getsentry/sentry-java/commit/d23b4b6a69a8936675206cb4b58b4b99d04c9293\"\u003e\u003ccode\u003ed23b4b6\u003c/code\u003e\u003c/a\u003e release: 8.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/7bd7bbfef09b126fd4337c16ceb6d1997272452d\"\u003e\u003ccode\u003e7bd7bbf\u003c/code\u003e\u003c/a\u003e fix changelog for unreleased SDK hang fix (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5298\"\u003e#5298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/bfc5ee11c3861539e7ecf5d5a49dc91c80fc8781\"\u003e\u003ccode\u003ebfc5ee1\u003c/code\u003e\u003c/a\u003e fix(sentry): Recover object readers after deserialization errors (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5293\"\u003e#5293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6cf6485d14cfa43c514319245d564fa2ffb906c4\"\u003e\u003ccode\u003e6cf6485\u003c/code\u003e\u003c/a\u003e Merge branch 'release/8.39.0'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/12c8c2ace0ccd97d3efe1662e9cf8604441e1faf\"\u003e\u003ccode\u003e12c8c2a\u003c/code\u003e\u003c/a\u003e release: 8.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/de6a178ca26079db56d6b52388281e87621c91df\"\u003e\u003ccode\u003ede6a178\u003c/code\u003e\u003c/a\u003e fix(gestures): Replace GestureDetectorCompat with lightweight detector to fix...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ce4b2c14da6fce40953fc11fc5df65b2839d31e1\"\u003e\u003ccode\u003ece4b2c1\u003c/code\u003e\u003c/a\u003e chore(deps): update Gradle to v9.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5063\"\u003e#5063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/0675272ae2a242c9db25fe96485f5167d21912ef\"\u003e\u003ccode\u003e0675272\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5285\"\u003e#5285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3af77f43495c957d88472975c0bdb982edb8411d\"\u003e\u003ccode\u003e3af77f4\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5287\"\u003e#5287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/7935b26106c57393d64dc47bed2877617fb3cec3\"\u003e\u003ccode\u003e7935b26\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5286\"\u003e#5286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.37.1...8.39.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TNG/ArchUnit/releases\"\u003ecom.tngtech.archunit:archunit-junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eArchUnit 1.4.2\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDescribedPredicate#negate()\u003c/code\u003e returns a \u003ccode\u003eDescribedPredicate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eJavaCodeUnit.Predicates.anyParameterThat\u003c/code\u003e and \u003ccode\u003eJavaCodeUnit.Predicates.allParameters\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1498\"\u003e#1498\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mkhl\"\u003e\u003ccode\u003e@​mkhl\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eSupport Java 26 / class file major version 70 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1544\"\u003e#1544\u003c/a\u003e)\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/TNG/ArchUnit/commit/e45aaa20543b74daeaa09f501b8890742dc7dd8d\"\u003e\u003ccode\u003ee45aaa2\u003c/code\u003e\u003c/a\u003e prepare release 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/c07193cb024f7717b8480c50dfe8ea130f0b019b\"\u003e\u003ccode\u003ec07193c\u003c/code\u003e\u003c/a\u003e set version to \u003ccode\u003e1.4.2-SNAPSHOT\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/ac9b896675d553d607f230e94ae7e4dc096a47e6\"\u003e\u003ccode\u003eac9b896\u003c/code\u003e\u003c/a\u003e migrate from (meanwhile shut down) OSSRH to Central Publisher Portal using th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b72fcaf8a7ba6385e7f5516571adcca4e5b67046\"\u003e\u003ccode\u003eb72fcaf\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 8 to 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/fc1881d5b8310b979f40086e254d3c7aff4ff044\"\u003e\u003ccode\u003efc1881d\u003c/code\u003e\u003c/a\u003e Bump addressable from 2.8.7 to 2.9.0 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/dee39bbf3e2983e5aff7739d107ca2adf129f409\"\u003e\u003ccode\u003edee39bb\u003c/code\u003e\u003c/a\u003e Bump activesupport from 7.1.3.4 to 7.2.3.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b0970078389702b481c40b667bd231f01b42a1d0\"\u003e\u003ccode\u003eb097007\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4d7cfe9ee9c5a207c07ba5b1af62e0cd9577a3ec\"\u003e\u003ccode\u003e4d7cfe9\u003c/code\u003e\u003c/a\u003e Bump json from 2.18.1 to 2.19.2 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/90dc7733fb4a8b692d664039e5d4f55a3b92f297\"\u003e\u003ccode\u003e90dc773\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.18.9 to 1.19.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/7a88298fbfdff328e133b0fbdad91f0ea674df0d\"\u003e\u003ccode\u003e7a88298\u003c/code\u003e\u003c/a\u003e Bump faraday from 2.10.1 to 2.14.1 in /docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-core` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKoin 4.2.1\u003c/h2\u003e\n\u003ch2\u003eSupport for Compile Safety with Koin Compiler 1.0.0-RC1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKoin Compiler Plugin 1.0.0-RC1 - \u003ca href=\"https://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\"\u003ehttps://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix stacked-params lookup on linked scopes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e) — The 4.2.0 resolver rewrite (\u003ccode\u003eCoreResolverV2\u003c/code\u003e) walked linked scopes but dropped the per-parent stacked-parameters check that 4.1.x performed via recursion. This broke patterns where \u003ccode\u003eAndroidParametersHolder\u003c/code\u003e is stacked on the factory scope by \u003ccode\u003eKoinViewModelFactory\u003c/code\u003e and \u003ccode\u003eSavedStateHandle\u003c/code\u003e is then resolved from a child ViewModel scope. Linked-scope resolution now also checks stacked params on each parent scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRestore ABI compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 release inadvertently broke binary compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e on JVM. Fixed by restoring the original JVM class name via \u003ccode\u003e@JvmName\u003c/code\u003e/\u003ccode\u003e@JvmMultifileClass\u003c/code\u003e annotations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix scope \u003ccode\u003e_closed\u003c/code\u003e concurrency issue\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e) — The \u003ccode\u003eScope._closed\u003c/code\u003e flag was not volatile, which could cause stale reads under concurrent access.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved Scope resolution error messages\u003c/strong\u003e — \u003ccode\u003eCoreResolverV2\u003c/code\u003e now provides clearer error messages when scope resolution fails, making it easier to diagnose misconfigured scopes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — Binary compatibility validation (\u003ccode\u003ekotlinx.binary-compatibility-validator\u003c/code\u003e) now runs on every PR to prevent future ABI breaks.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparametersOf\u003c/code\u003e type-collision warning\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e) — Added a caution note explaining that when a value passed via \u003ccode\u003eparametersOf\u003c/code\u003e has the same type as the requested definition, Koin returns the value directly and skips the factory block. Suggests using a wrapper type as a workaround.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to the following contributors for this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arnaudgiuliani\"\u003e\u003ccode\u003e@​arnaudgiuliani\u003c/code\u003e\u003c/a\u003e (Arnaud Giuliani)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/inemtsev\"\u003e\u003ccode\u003e@​inemtsev\u003c/code\u003e\u003c/a\u003e (Ilya Nemtsev) — fix for scope closed concurrency issue (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.1-RC1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix ABI break on \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 refactor to move \u003ccode\u003ewaitAllStartJobs\u003c/code\u003e to common code changed the JVM symbol for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e from \u003ccode\u003eKoinWaitExtKt\u003c/code\u003e to \u003ccode\u003eKoinWaitExt_jvmKt\u003c/code\u003e, causing \u003ccode\u003eNoSuchMethodError\u003c/code\u003e at runtime for libraries compiled against 4.1.x. Fixed by adding \u003ccode\u003e@file:JvmName(\u0026quot;KoinWaitExtKt\u0026quot;)\u003c/code\u003e and \u003ccode\u003e@file:JvmMultifileClass\u003c/code\u003e to restore the original symbol.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved scope resolution error messages\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2379\"\u003e#2379\u003c/a\u003e) — \u003ccode\u003eNoDefinitionFoundException\u003c/code\u003e now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI / Tooling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — The binary-compatibility-validator plugin was already configured but not running on PRs. \u003ccode\u003eapiCheck\u003c/code\u003e is now part of the CI build workflow, preventing accidental ABI breaks in future releases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdated \u003ccode\u003e.api\u003c/code\u003e dump files\u003c/strong\u003e for all modules to reflect the current public API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStill in progress for 4.2.1 final\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e — \u003ccode\u003e@Volatile\u003c/code\u003e on \u003ccode\u003eScope._closed\u003c/code\u003e for concurrency fix\u003c/li\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2358\"\u003e#2358\u003c/a\u003e — Fix \u003ccode\u003eClassCastException\u003c/code\u003e reading environment properties (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2348\"\u003e#2348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation updates: \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2339\"\u003e#2339\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2336\"\u003e#2336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2218\"\u003e#2218\u003c/a\u003e\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/InsertKoinIO/koin/commit/e7d9f0a16abb3cc258af16f5c6b7f38452909a6f\"\u003e\u003ccode\u003ee7d9f0a\u003c/code\u003e\u003c/a\u003e 4.2.1 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4ff59ae7fd106e02fd945f1474394de324e6e993\"\u003e\u003ccode\u003e4ff59ae\u003c/code\u003e\u003c/a\u003e bump 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/dea6fe7e0b33a4b83c5ad9d9047c3530e8167dee\"\u003e\u003ccode\u003edea6fe7\u003c/code\u003e\u003c/a\u003e Doc \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e - parametersOf type-collision warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/711fa1f6488a129722d9823afbf5d0407b41f4c8\"\u003e\u003ccode\u003e711fa1f\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e - CoreResolverV2 lost stacked-params lookup on linked scopes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/b055036e9ce9b6f163cbd3761aec07ad4db0721a\"\u003e\u003ccode\u003eb055036\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2389\"\u003e#2389\u003c/a\u003e from inemtsev/fix/scope-closed-volatile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/e31f489d7d56da649026bcb2398c71597f4d1c10\"\u003e\u003ccode\u003ee31f489\u003c/code\u003e\u003c/a\u003e added tests for scoped ViewModel \u0026amp; SavedStateVM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/d16503eabf155a55775f681f93568188ccff6531\"\u003e\u003ccode\u003ed16503e\u003c/code\u003e\u003c/a\u003e rezvert back jvmToolchain\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4df4e4ce7fd487dec2acd6565c408d9691509dff\"\u003e\u003ccode\u003e4df4e4c\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 - Improve Scope resolution error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/5e6c03538e68c964b69c2e3191c6bac0d57b7650\"\u003e\u003ccode\u003e5e6c035\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/290f7444bcbcec3423321497f17cb0ee8e62ac2e\"\u003e\u003ccode\u003e290f744\u003c/code\u003e\u003c/a\u003e fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-compose` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKoin 4.2.1\u003c/h2\u003e\n\u003ch2\u003eSupport for Compile Safety with Koin Compiler 1.0.0-RC1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKoin Compiler Plugin 1.0.0-RC1 - \u003ca href=\"https://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\"\u003ehttps://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix stacked-params lookup on linked scopes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e) — The 4.2.0 resolver rewrite (\u003ccode\u003eCoreResolverV2\u003c/code\u003e) walked linked scopes but dropped the per-parent stacked-parameters check that 4.1.x performed via recursion. This broke patterns where \u003ccode\u003eAndroidParametersHolder\u003c/code\u003e is stacked on the factory scope by \u003ccode\u003eKoinViewModelFactory\u003c/code\u003e and \u003ccode\u003eSavedStateHandle\u003c/code\u003e is then resolved from a child ViewModel scope. Linked-scope resolution now also checks stacked params on each parent scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRestore ABI compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 release inadvertently broke binary compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e on JVM. Fixed by restoring the original JVM class name via \u003ccode\u003e@JvmName\u003c/code\u003e/\u003ccode\u003e@JvmMultifileClass\u003c/code\u003e annotations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix scope \u003ccode\u003e_closed\u003c/code\u003e concurrency issue\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e) — The \u003ccode\u003eScope._closed\u003c/code\u003e flag was not volatile, which could cause stale reads under concurrent access.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved Scope resolution error messages\u003c/strong\u003e — \u003ccode\u003eCoreResolverV2\u003c/code\u003e now provides clearer error messages when scope resolution fails, making it easier to diagnose misconfigured scopes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — Binary compatibility validation (\u003ccode\u003ekotlinx.binary-compatibility-validator\u003c/code\u003e) now runs on every PR to prevent future ABI breaks.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparametersOf\u003c/code\u003e type-collision warning\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e) — Added a caution note explaining that when a value passed via \u003ccode\u003eparametersOf\u003c/code\u003e has the same type as the requested definition, Koin returns the value directly and skips the factory block. Suggests using a wrapper type as a workaround.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to the following contributors for this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arnaudgiuliani\"\u003e\u003ccode\u003e@​arnaudgiuliani\u003c/code\u003e\u003c/a\u003e (Arnaud Giuliani)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/inemtsev\"\u003e\u003ccode\u003e@​inemtsev\u003c/code\u003e\u003c/a\u003e (Ilya Nemtsev) — fix for scope closed concurrency issue (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.1-RC1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix ABI break on \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 refactor to move \u003ccode\u003ewaitAllStartJobs\u003c/code\u003e to common code changed the JVM symbol for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e from \u003ccode\u003eKoinWaitExtKt\u003c/code\u003e to \u003ccode\u003eKoinWaitExt_jvmKt\u003c/code\u003e, causing \u003ccode\u003eNoSuchMethodError\u003c/code\u003e at runtime for libraries compiled against 4.1.x. Fixed by adding \u003ccode\u003e@file:JvmName(\u0026quot;KoinWaitExtKt\u0026quot;)\u003c/code\u003e and \u003ccode\u003e@file:JvmMultifileClass\u003c/code\u003e to restore the original symbol.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved scope resolution error messages\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2379\"\u003e#2379\u003c/a\u003e) — \u003ccode\u003eNoDefinitionFoundException\u003c/code\u003e now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI / Tooling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — The binary-compatibility-validator plugin was already configured but not running on PRs. \u003ccode\u003eapiCheck\u003c/code\u003e is now part of the CI build workflow, preventing accidental ABI breaks in future releases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdated \u003ccode\u003e.api\u003c/code\u003e dump files\u003c/strong\u003e for all modules to reflect the current public API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStill in progress for 4.2.1 final\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e — \u003ccode\u003e@Volatile\u003c/code\u003e on \u003ccode\u003eScope._closed\u003c/code\u003e for concurrency fix\u003c/li\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2358\"\u003e#2358\u003c/a\u003e — Fix \u003ccode\u003eClassCastException\u003c/code\u003e reading environment properties (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2348\"\u003e#2348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation updates: \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2339\"\u003e#2339\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2336\"\u003e#2336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2218\"\u003e#2218\u003c/a\u003e\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/InsertKoinIO/koin/commit/e7d9f0a16abb3cc258af16f5c6b7f38452909a6f\"\u003e\u003ccode\u003ee7d9f0a\u003c/code\u003e\u003c/a\u003e 4.2.1 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4ff59ae7fd106e02fd945f1474394de324e6e993\"\u003e\u003ccode\u003e4ff59ae\u003c/code\u003e\u003c/a\u003e bump 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/dea6fe7e0b33a4b83c5ad9d9047c3530e8167dee\"\u003e\u003ccode\u003edea6fe7\u003c/code\u003e\u003c/a\u003e Doc \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e - parametersOf type-collision warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/711fa1f6488a129722d9823afbf5d0407b41f4c8\"\u003e\u003ccode\u003e711fa1f\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e - CoreResolverV2 lost stacked-params lookup on linked scopes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/b055036e9ce9b6f163cbd3761aec07ad4db0721a\"\u003e\u003ccode\u003eb055036\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2389\"\u003e#2389\u003c/a\u003e from inemtsev/fix/scope-closed-volatile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/e31f489d7d56da649026bcb2398c71597f4d1c10\"\u003e\u003ccode\u003ee31f489\u003c/code\u003e\u003c/a\u003e added tests for scoped ViewModel \u0026amp; SavedStateVM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/d16503eabf155a55775f681f93568188ccff6531\"\u003e\u003ccode\u003ed16503e\u003c/code\u003e\u003c/a\u003e rezvert back jvmToolchain\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4df4e4ce7fd487dec2acd6565c408d9691509dff\"\u003e\u003ccode\u003e4df4e4c\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 - Improve Scope resolution error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/5e6c03538e68c964b69c2e3191c6bac0d57b7650\"\u003e\u003ccode\u003e5e6c035\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/290f7444bcbcec3423321497f17cb0ee8e62ac2e\"\u003e\u003ccode\u003e290f744\u003c/code\u003e\u003c/a\u003e fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-test` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/InsertKoinIO/koin/releases\"\u003eio.insert-koin:koin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKoin 4.2.1\u003c/h2\u003e\n\u003ch2\u003eSupport for Compile Safety with Koin Compiler 1.0.0-RC1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKoin Compiler Plugin 1.0.0-RC1 - \u003ca href=\"https://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\"\u003ehttps://github.com/InsertKoinIO/koin-compiler-plugin/releases/tag/1.0.0-RC1\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix stacked-params lookup on linked scopes\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e) — The 4.2.0 resolver rewrite (\u003ccode\u003eCoreResolverV2\u003c/code\u003e) walked linked scopes but dropped the per-parent stacked-parameters check that 4.1.x performed via recursion. This broke patterns where \u003ccode\u003eAndroidParametersHolder\u003c/code\u003e is stacked on the factory scope by \u003ccode\u003eKoinViewModelFactory\u003c/code\u003e and \u003ccode\u003eSavedStateHandle\u003c/code\u003e is then resolved from a child ViewModel scope. Linked-scope resolution now also checks stacked params on each parent scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eRestore ABI compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 release inadvertently broke binary compatibility for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e on JVM. Fixed by restoring the original JVM class name via \u003ccode\u003e@JvmName\u003c/code\u003e/\u003ccode\u003e@JvmMultifileClass\u003c/code\u003e annotations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix scope \u003ccode\u003e_closed\u003c/code\u003e concurrency issue\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e) — The \u003ccode\u003eScope._closed\u003c/code\u003e flag was not volatile, which could cause stale reads under concurrent access.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved Scope resolution error messages\u003c/strong\u003e — \u003ccode\u003eCoreResolverV2\u003c/code\u003e now provides clearer error messages when scope resolution fails, making it easier to diagnose misconfigured scopes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — Binary compatibility validation (\u003ccode\u003ekotlinx.binary-compatibility-validator\u003c/code\u003e) now runs on every PR to prevent future ABI breaks.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparametersOf\u003c/code\u003e type-collision warning\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e) — Added a caution note explaining that when a value passed via \u003ccode\u003eparametersOf\u003c/code\u003e has the same type as the requested definition, Koin returns the value directly and skips the factory block. Suggests using a wrapper type as a workaround.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to the following contributors for this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arnaudgiuliani\"\u003e\u003ccode\u003e@​arnaudgiuliani\u003c/code\u003e\u003c/a\u003e (Arnaud Giuliani)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/inemtsev\"\u003e\u003ccode\u003e@​inemtsev\u003c/code\u003e\u003c/a\u003e (Ilya Nemtsev) — fix for scope closed concurrency issue (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKoin 4.2.1-RC1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eFix ABI break on \u003ccode\u003erunOnKoinStarted\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2391\"\u003e#2391\u003c/a\u003e) — The 4.2.0 refactor to move \u003ccode\u003ewaitAllStartJobs\u003c/code\u003e to common code changed the JVM symbol for \u003ccode\u003erunOnKoinStarted\u003c/code\u003e from \u003ccode\u003eKoinWaitExtKt\u003c/code\u003e to \u003ccode\u003eKoinWaitExt_jvmKt\u003c/code\u003e, causing \u003ccode\u003eNoSuchMethodError\u003c/code\u003e at runtime for libraries compiled against 4.1.x. Fixed by adding \u003ccode\u003e@file:JvmName(\u0026quot;KoinWaitExtKt\u0026quot;)\u003c/code\u003e and \u003ccode\u003e@file:JvmMultifileClass\u003c/code\u003e to restore the original symbol.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved scope resolution error messages\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2379\"\u003e#2379\u003c/a\u003e) — \u003ccode\u003eNoDefinitionFoundException\u003c/code\u003e now displays the full scope chain that was searched and indicates which scope qualifier is missing a definition, making scope resolution issues much easier to diagnose.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI / Tooling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAdded \u003ccode\u003eapiCheck\u003c/code\u003e to CI\u003c/strong\u003e — The binary-compatibility-validator plugin was already configured but not running on PRs. \u003ccode\u003eapiCheck\u003c/code\u003e is now part of the CI build workflow, preventing accidental ABI breaks in future releases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdated \u003ccode\u003e.api\u003c/code\u003e dump files\u003c/strong\u003e for all modules to reflect the current public API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStill in progress for 4.2.1 final\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2389\"\u003e#2389\u003c/a\u003e — \u003ccode\u003e@Volatile\u003c/code\u003e on \u003ccode\u003eScope._closed\u003c/code\u003e for concurrency fix\u003c/li\u003e\n\u003cli\u003ePR \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/pull/2358\"\u003e#2358\u003c/a\u003e — Fix \u003ccode\u003eClassCastException\u003c/code\u003e reading environment properties (\u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2348\"\u003e#2348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation updates: \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2339\"\u003e#2339\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2336\"\u003e#2336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2218\"\u003e#2218\u003c/a\u003e\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/InsertKoinIO/koin/commit/e7d9f0a16abb3cc258af16f5c6b7f38452909a6f\"\u003e\u003ccode\u003ee7d9f0a\u003c/code\u003e\u003c/a\u003e 4.2.1 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4ff59ae7fd106e02fd945f1474394de324e6e993\"\u003e\u003ccode\u003e4ff59ae\u003c/code\u003e\u003c/a\u003e bump 4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/dea6fe7e0b33a4b83c5ad9d9047c3530e8167dee\"\u003e\u003ccode\u003edea6fe7\u003c/code\u003e\u003c/a\u003e Doc \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2328\"\u003e#2328\u003c/a\u003e - parametersOf type-collision warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/711fa1f6488a129722d9823afbf5d0407b41f4c8\"\u003e\u003ccode\u003e711fa1f\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2387\"\u003e#2387\u003c/a\u003e - CoreResolverV2 lost stacked-params lookup on linked scopes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/b055036e9ce9b6f163cbd3761aec07ad4db0721a\"\u003e\u003ccode\u003eb055036\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/InsertKoinIO/koin/issues/2389\"\u003e#2389\u003c/a\u003e from inemtsev/fix/scope-closed-volatile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/e31f489d7d56da649026bcb2398c71597f4d1c10\"\u003e\u003ccode\u003ee31f489\u003c/code\u003e\u003c/a\u003e added tests for scoped ViewModel \u0026amp; SavedStateVM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/d16503eabf155a55775f681f93568188ccff6531\"\u003e\u003ccode\u003ed16503e\u003c/code\u003e\u003c/a\u003e rezvert back jvmToolchain\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/4df4e4ce7fd487dec2acd6565c408d9691509dff\"\u003e\u003ccode\u003e4df4e4c\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 - Improve Scope resolution error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/5e6c03538e68c964b69c2e3191c6bac0d57b7650\"\u003e\u003ccode\u003e5e6c035\u003c/code\u003e\u003c/a\u003e 4.2.1-RC1 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/InsertKoinIO/koin/commit/290f7444bcbcec3423321497f17cb0ee8e62ac2e\"\u003e\u003ccode\u003e290f744\u003c/code\u003e\u003c/a\u003e fix: restore ABI compatibility for runOnKoinStarted + add apiCheck to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.insert-koin:koin-compose` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/ahmetabdullahgultekin/Muhabbet/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetabdullahgultekin%2FMuhabbet/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":"8.13.1","new_version":"9.1.1","update_type":"major","path":null,"pr_created_at":"2026-04-17T10:21:09.000Z","version_change":"8.13.1 → 9.1.1","issue":{"uuid":"4281866682","node_id":"PR_kwDOSFKxhc7TRlrv","number":2,"state":"closed","title":"Bump the maven group with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T03:50:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-17T10:21:09.000Z","updated_at":"2026-04-20T03:50:01.000Z","time_to_close":235731,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"maven","update_count":13,"packages":[{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"dev.rikka.rikkax.widget:mainswitchbar","old_version":"1.0.2","new_version":"1.1.0","repository_url":"https://github.com/RikkaApps/RikkaX"},{"name":"androidx.activity:activity","old_version":"1.12.4","new_version":"1.13.0"},{"name":"androidx.annotation:annotation","old_version":"1.9.1","new_version":"1.10.0"},{"name":"androidx.browser:browser","old_version":"1.9.0","new_version":"1.10.0"},{"name":"androidx.core:core","old_version":"1.17.0","new_version":"1.18.0"},{"name":"com.android.tools.build:apksig","old_version":"8.13.1","new_version":"9.1.1"},{"name":"com.android.library","old_version":"8.13.1","new_version":"9.1.1"},{"name":"com.android.application","old_version":"8.13.1","new_version":"9.1.1"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.10","new_version":"2.3.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.ncorti.ktfmt.gradle","old_version":"0.25.0","new_version":"0.26.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.4.1` |\n| [dev.rikka.rikkax.widget:mainswitchbar](https://github.com/RikkaApps/RikkaX) | `1.0.2` | `1.1.0` |\n| androidx.activity:activity | `1.12.4` | `1.13.0` |\n| androidx.annotation:annotation | `1.9.1` | `1.10.0` |\n| androidx.browser:browser | `1.9.0` | `1.10.0` |\n| androidx.core:core | `1.17.0` | `1.18.0` |\n| com.android.tools.build:apksig | `8.13.1` | `9.1.1` |\n| com.android.library | `8.13.1` | `9.1.1` |\n| com.android.application | `8.13.1` | `9.1.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.20` |\n| com.ncorti.ktfmt.gradle | `0.25.0` | `0.26.0` |\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dev.rikka.rikkax.widget:mainswitchbar` from 1.0.2 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RikkaApps/RikkaX/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.12.4 to 1.13.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.browser:browser` from 1.9.0 to 1.10.0\n\nUpdates `androidx.core:core` from 1.17.0 to 1.18.0\n\nUpdates `com.android.tools.build:apksig` from 8.13.1 to 9.1.1\n\nUpdates `com.android.library` from 8.13.1 to 9.1.1\n\nUpdates `com.android.application` from 8.13.1 to 9.1.1\n\nUpdates `com.google.android.material:material` from 1.12.0 to 1.13.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.13.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.13.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDockedToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/dockedtoolbar/DockedToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/DockedToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFloatingToolbarLayout\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/floatingtoolbar/FloatingToolbarLayout.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingToolbar.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/toolbars/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLoadingIndicator\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/loadingindicator/LoadingIndicator.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/LoadingIndicator.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/loading-indicator/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialSplitButton\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialSplitButton.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/SplitButton.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/split-button/overview\"\u003espec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButtonGroup\u003c/code\u003e (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/button/MaterialButtonGroup.java\"\u003esource\u003c/a\u003e, \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md\"\u003edoc\u003c/a\u003e, \u003ca href=\"https://m3.material.io/components/button-groups/overview\"\u003espec\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 21 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\u003eNow built with \u003ccode\u003ecompileSdkVersion\u003c/code\u003e 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and \u003ccode\u003eandroid.nonTransitiveRClass=true\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis means that \u003ca href=\"https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes\"\u003eR classes are no longer transitive\u003c/a\u003e and resources must be fully qualified with their library path when used programmatically (see the \u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#non-transitive-r-classes-referencing-library-resources-programmatically\"\u003eGetting Started guide\u003c/a\u003e for more info).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMaterial 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version \u003ca href=\"https://github.com/material-components/material-components-android/releases/tag/1.14.0-alpha04\"\u003e1.14.0-alpha04\u003c/a\u003e and use the \u003ccode\u003eMaterial3Expressive\u003c/code\u003e themes/styles in conjunction with new components mentioned above.\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.appcompat:appcompat\u003c/td\u003e\n\u003ctd\u003e1.6.1\u003c/td\u003e\n\u003ctd\u003e1.7.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.0.1\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.dynamicanimation:dynamicanimation\u003c/td\u003e\n\u003ctd\u003e1.0.0\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.graphics:graphics-shapes\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.0.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e7.4.2\u003c/td\u003e\n\u003ctd\u003e8.7.3\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\u003eA11y\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eInclude \u0026quot;hour\u0026quot; and \u0026quot;minute\u0026quot; in announcements. For example: \u0026quot;Not checked, Hour - 11'0 clock. double tap to select Hour\u0026quot;. (960bb4cb825c607c244d51ed4f302752912e37cc)\u003c/li\u003e\n\u003cli\u003eMove responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)\u003c/li\u003e\n\u003cli\u003ePrevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)\u003c/li\u003e\n\u003cli\u003eAdd missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)\u003c/li\u003e\n\u003cli\u003eFix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)\u003c/li\u003e\n\u003cli\u003eRemove disruptive announcement \u0026quot;Drag handle double tapped\u0026quot;for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCarousel\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRecyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)\u003c/li\u003e\n\u003cli\u003eUpdate keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)\u003c/li\u003e\n\u003cli\u003eUpdate multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)\u003c/li\u003e\n\u003cli\u003eRecalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCheckbox\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate translations. (771119111e58d101f2540f0bbbb572073ff9c053)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eGet default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003eshow all\u003c/code\u003e Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)\u003c/li\u003e\n\u003cli\u003eUpdated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)\u003c/li\u003e\n\u003cli\u003eFix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)\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/84c0e6d6d493fcf176d2099683245b78afbeb78d\"\u003e\u003ccode\u003e84c0e6d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/46fde74a93f1a1e88eeeff91266086853365e437\"\u003e\u003ccode\u003e46fde74\u003c/code\u003e\u003c/a\u003e [Theme] Added missing Shape Attributes to Dialog themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f58fcc6fcd5af77a249db19f94501c5a7a06a20\"\u003e\u003ccode\u003e8f58fcc\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/64867cf0242dcbd358decdc21f6210614ea9bbd8\"\u003e\u003ccode\u003e64867cf\u003c/code\u003e\u003c/a\u003e [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f89b8afeb7fcf48201a44d62f6663523eadc2963\"\u003e\u003ccode\u003ef89b8af\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Added a default static drawable, which is displayed when t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d56330d6a14db489bf9453da739c2ed4c029f384\"\u003e\u003ccode\u003ed56330d\u003c/code\u003e\u003c/a\u003e Update library version to 1.13.0-beta01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/1886cf0485a7a9297fa847c7bec6ac6055025548\"\u003e\u003ccode\u003e1886cf0\u003c/code\u003e\u003c/a\u003e [LoadingIndicator] Fixed the animation no constant rotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/61c5a6d042111cb90bdf2ad4fc626925f397700c\"\u003e\u003ccode\u003e61c5a6d\u003c/code\u003e\u003c/a\u003e [Internal] Restore binary compatibility (ViewOverlay)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e722464dbc039cfb3282b2d58df93b4f538bbe6e\"\u003e\u003ccode\u003ee722464\u003c/code\u003e\u003c/a\u003e [MaterialButton] Updated the shapes of buttons when the orientation is changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/df9074c4f5cbb79fcd78ba1002b1131fd57db1f0\"\u003e\u003ccode\u003edf9074c\u003c/code\u003e\u003c/a\u003e [ButtonGroup] Fixed connected button groups to not morph button size.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.12.0...1.13.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:kotlin-stdlib` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.android.library` from 8.13.1 to 9.1.1\n\nUpdates `com.android.application` from 8.13.1 to 9.1.1\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.10 to 2.3.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78090\"\u003e\u003ccode\u003eKT-78090\u003c/code\u003e\u003c/a\u003e Implement stubs support for new conditional returns and holdsIn contracts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82948\"\u003e\u003ccode\u003eKT-82948\u003c/code\u003e\u003c/a\u003e 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83467\"\u003e\u003ccode\u003eKT-83467\u003c/code\u003e\u003c/a\u003e Package-level JSpecify annotations are ignored when coming from jars or libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82057\"\u003e\u003ccode\u003eKT-82057\u003c/code\u003e\u003c/a\u003e K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82846\"\u003e\u003ccode\u003eKT-82846\u003c/code\u003e\u003c/a\u003e AA: unresolved KtExpression.expressionType for the reference to the parameter with default value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80485\"\u003e\u003ccode\u003eKT-80485\u003c/code\u003e\u003c/a\u003e False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82772\"\u003e\u003ccode\u003eKT-82772\u003c/code\u003e\u003c/a\u003e Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76487\"\u003e\u003ccode\u003eKT-76487\u003c/code\u003e\u003c/a\u003e StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82618\"\u003e\u003ccode\u003eKT-82618\u003c/code\u003e\u003c/a\u003e Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82076\"\u003e\u003ccode\u003eKT-82076\u003c/code\u003e\u003c/a\u003e Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71596\"\u003e\u003ccode\u003eKT-71596\u003c/code\u003e\u003c/a\u003e Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82085\"\u003e\u003ccode\u003eKT-82085\u003c/code\u003e\u003c/a\u003e No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81873\"\u003e\u003ccode\u003eKT-81873\u003c/code\u003e\u003c/a\u003e Provide a way of including traces in phase JFR events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71929\"\u003e\u003ccode\u003eKT-71929\u003c/code\u003e\u003c/a\u003e Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83173\"\u003e\u003ccode\u003eKT-83173\u003c/code\u003e\u003c/a\u003e Analysis API Tests: Library names with RC versions aren't sanitised\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65140\"\u003e\u003ccode\u003eKT-65140\u003c/code\u003e\u003c/a\u003e  LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82212\"\u003e\u003ccode\u003eKT-82212\u003c/code\u003e\u003c/a\u003e [Analysis API, LL FIR]  Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82227\"\u003e\u003ccode\u003eKT-82227\u003c/code\u003e\u003c/a\u003e Value classes should expose regular static methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81710\"\u003e\u003ccode\u003eKT-81710\u003c/code\u003e\u003c/a\u003e 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82258\"\u003e\u003ccode\u003eKT-82258\u003c/code\u003e\u003c/a\u003e Prepare PSI for migration from context receivers to context parameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81074\"\u003e\u003ccode\u003eKT-81074\u003c/code\u003e\u003c/a\u003e KDoc: List rendering is broken\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82449\"\u003e\u003ccode\u003eKT-82449\u003c/code\u003e\u003c/a\u003e K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82629\"\u003e\u003ccode\u003eKT-82629\u003c/code\u003e\u003c/a\u003e 'collectDiagnostics' returns stale syntax error after editor fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74907\"\u003e\u003ccode\u003eKT-74907\u003c/code\u003e\u003c/a\u003e Analysis API: Apply platform-based library module content restrictions consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Standalone\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81107\"\u003e\u003ccode\u003eKT-81107\u003c/code\u003e\u003c/a\u003e AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d57eb4a26ed01ab03cf195da686c8047032ff16f\"\u003e\u003ccode\u003ed57eb4a\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/41886bbf57852fb7be15276e104810b67ff3fc0f\"\u003e\u003ccode\u003e41886bb\u003c/code\u003e\u003c/a\u003e [Gradle] Update KGP npm tooling dependency versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/210a9bde6850e160e0b5f2cf56ae44a4851a6f4f\"\u003e\u003ccode\u003e210a9bd\u003c/code\u003e\u003c/a\u003e [Native] Do not mark iosX64 target as deprecate in DSL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ed446ef70bdfadff8284c29f32951b6611149c1\"\u003e\u003ccode\u003e7ed446e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/520eadedf473f1c479c77f4a4f3e3f26a8a2a1b2\"\u003e\u003ccode\u003e520eade\u003c/code\u003e\u003c/a\u003e [K/JVM] Fix incorrect optimization of local delegation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7ef8bccc4be91ff0e8e144123f7c74913b212a78\"\u003e\u003ccode\u003e7ef8bcc\u003c/code\u003e\u003c/a\u003e Reflection: add LazyKProperty to fix recent performance regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9fa7cf20c6af27f404f8e1356f7534080cae15ea\"\u003e\u003ccode\u003e9fa7cf2\u003c/code\u003e\u003c/a\u003e [Gradle] Link NoActiveThreadsAfterCompilerInvocationIT with KT-84566\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d410596086ea0a352d66061bdd514b9ead74b5fa\"\u003e\u003ccode\u003ed410596\u003c/code\u003e\u003c/a\u003e [Gradle] Shutdown coroutines dispatcher threads after compiler invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/348430b268302aadff27184084e45d91e49bdd8b\"\u003e\u003ccode\u003e348430b\u003c/code\u003e\u003c/a\u003e [BTA] Fix compatibility between API 2.3.20 and KC 2.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4058f3c6cde4ac57475124f32cf46e5b80c537e9\"\u003e\u003ccode\u003e4058f3c\u003c/code\u003e\u003c/a\u003e [CMP] HiddenFromObjC remove outdated  offset check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.ncorti.ktfmt.gradle` from 0.25.0 to 0.26.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 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/SrikkanthSorim/Vector-migrated-java22-20260417-154201/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrikkanthSorim%2FVector-migrated-java22-20260417-154201/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"8.13.2","new_version":"9.2.0","update_type":"major","path":null,"pr_created_at":"2026-04-13T22:10:30.000Z","version_change":"8.13.2 → 9.2.0","issue":{"uuid":"4258178275","node_id":"PR_kwDODhGCgM7SIbip","number":174,"state":"closed","title":"Bump com.android.library from 8.13.2 to 9.2.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-25T14:54:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T22:10:30.000Z","updated_at":"2026-04-25T14:55:02.000Z","time_to_close":1010663,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.android.library","old_version":"8.13.2","new_version":"9.2.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.android.library from 8.13.2 to 9.2.0.\n","html_url":"https://github.com/open-toast/gummy-bears/pull/174","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-toast%2Fgummy-bears/issues/174","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/174/packages"}},{"old_version":"8.13.2","new_version":"9.1.1","update_type":"major","path":null,"pr_created_at":"2026-04-13T20:53:00.000Z","version_change":"8.13.2 → 9.1.1","issue":{"uuid":"4257824190","node_id":"PR_kwDOOsroQM7SHWWU","number":35,"state":"closed","title":"chore(deps): bump com.android.library from 8.13.2 to 9.1.1","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-27T23:27:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T20:53:00.000Z","updated_at":"2026-04-27T23:27:23.000Z","time_to_close":1218862,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"com.android.library","old_version":"8.13.2","new_version":"9.1.1","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.android.library from 8.13.2 to 9.1.1.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.library\u0026package-manager=gradle\u0026previous-version=8.13.2\u0026new-version=9.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mattiascibien/kmm-wifi-connect/pull/35","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattiascibien%2Fkmm-wifi-connect/issues/35","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/35/packages"}}]}