{"id":77609,"name":"gradle-wrapper","ecosystem":"maven","repository_url":null,"issues_count":3562,"created_at":"2025-11-28T23:01:49.243Z","updated_at":"2025-11-28T23:01:49.243Z","purl":"pkg:maven/gradle-wrapper","unique_repositories_count":2531,"unique_repositories_count_past_30_days":267,"recent_issues":[{"uuid":"4661723006","node_id":"PR_kwDORxw68M7mXLkQ","number":19,"state":"open","title":"chore(deps): bump gradle-wrapper from 9.5.0 to 9.5.1","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-06-15T03:09:19.000Z","updated_at":"2026-06-15T03:21:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.5.0 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\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/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/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=9.5.0\u0026new-version=9.5.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/ckob/lazygit-intellij-plugin/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckob%2Flazygit-intellij-plugin/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"4660973684","node_id":"PR_kwDOS6yXEM7mU3fD","number":2,"state":"open","title":"deps(deps): bump the gradle-minor-and-patch group in /android with 16 updates","user":"dependabot[bot]","labels":[],"assignees":["MarkS0485"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-14T23:16:56.000Z","updated_at":"2026-06-14T23:16:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"gradle-minor-and-patch","update_count":16,"packages":[{"name":"gradle-wrapper","old_version":"9.0.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.13.1","new_version":"1.19.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.6","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.6","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.3","new_version":"2.9.8"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"org.jetbrains.kotlin.android","old_version":"2.0.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.0.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.0.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.0.21-1.0.27","new_version":"2.3.9","repository_url":"https://github.com/google/ksp"}],"path":"/android","ecosystem":"maven"},"body":"Bumps the gradle-minor-and-patch group in /android with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.0.0` | `9.5.1` |\n| androidx.core:core-ktx | `1.13.1` | `1.19.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.6` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.6` | `2.10.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.navigation:navigation-compose | `2.8.3` | `2.9.8` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.4.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.0.21-1.0.27` | `2.3.9` |\n\nUpdates `gradle-wrapper` from 9.0.0 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/v9.0.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.13.1 to 1.19.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.6 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.6 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.6 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.13.0\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.3 to 2.9.8\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.1\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.0 \u003ca href=\"https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker\"\u003eintroduces a new feature\u003c/a\u003e aimed at helping you to catch bugs related to the accidentally ignored return value of the function.\nkotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you can get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e. To get the warnings, the feature has to be enabled in your project as \u003ca href=\"https://kotlinlang.org/docs/unused-return-value-checker.html#configure-the-unused-return-value-checker\"\u003edescribed here\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ePolymorphism improvements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.10.0 / 2026-01-21\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.9.0...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.room:room-runtime` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `org.jetbrains.kotlin.android` from 2.0.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.0.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the ...\n\n_Description has been truncated_","html_url":"https://github.com/MarkS0485/CoulombMPPT/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkS0485%2FCoulombMPPT/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4638652437","node_id":"PR_kwDOAKZQpc7lOMbD","number":288,"state":"closed","title":"chore(deps): bump gradle-wrapper from 6.7.1 to 9.5.1","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-12T02:52:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-11T08:25:40.000Z","updated_at":"2026-06-12T02:52:11.000Z","time_to_close":66382,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gradle-wrapper","old_version":"6.7.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 6.7.1 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/v6.7.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/DeployGate/gradle-deploygate-plugin/pull/288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeployGate%2Fgradle-deploygate-plugin/issues/288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/288/packages"},{"uuid":"4635915525","node_id":"PR_kwDOOauCIs7lFuQB","number":22,"state":"open","title":"chore(deps): bump gradle-wrapper from 8.13 to 9.5.1 in /backend","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-10T23:48:40.000Z","updated_at":"2026-06-10T23:48:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gradle-wrapper","old_version":"8.13","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":"/backend","ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 8.13 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.13.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=8.13\u0026new-version=9.5.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/JinsCodeWork/munich-weekly/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JinsCodeWork%2Fmunich-weekly/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"},{"uuid":"4628204342","node_id":"PR_kwDOSVqbWc7ksZ_x","number":13,"state":"open","title":"Bump the gradle-updates group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-10T05:08:30.000Z","updated_at":"2026-06-10T05:08:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":9,"packages":[{"name":"org.openapi.generator","old_version":"7.18.0","new_version":"7.22.0"},{"name":"io.freefair.lombok","old_version":"9.4.0","new_version":"9.5.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.21.2","new_version":"2.21.4","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"tools.jackson.core:jackson-core","old_version":"3.1.2","new_version":"3.1.4","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.20.6","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.apache.httpcomponents:httpclient","old_version":"4.5.13","new_version":"4.5.14"},{"name":"io.sentry.jvm.gradle","old_version":"6.5.0","new_version":"6.9.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.6.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.openapi.generator | `7.18.0` | `7.22.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `9.4.0` | `9.5.0` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.21.2` | `2.21.4` |\n| [tools.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `3.1.2` | `3.1.4` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.20.6` | `2.0.5` |\n| org.apache.httpcomponents:httpclient | `4.5.13` | `4.5.14` |\n| [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) | `6.5.0` | `6.9.0` |\n| com.diffplug.spotless | `6.25.0` | `8.6.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\n\nUpdates `org.openapi.generator` from 7.18.0 to 7.22.0\n\nUpdates `io.freefair.lombok` from 9.4.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/freefair/gradle-plugins/releases\"\u003eio.freefair.lombok's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.4.0 to 4.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1750\"\u003efreefair/gradle-plugins#1750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.projectlombok:lombok from 1.18.44 to 1.18.46 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1752\"\u003efreefair/gradle-plugins#1752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-core from 3.9.14 to 3.9.15 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1746\"\u003efreefair/gradle-plugins#1746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-model from 3.9.14 to 3.9.15 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1744\"\u003efreefair/gradle-plugins#1744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.freefair.settings.plugin-versions from 9.2.0 to 9.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1749\"\u003efreefair/gradle-plugins#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-plugin-api from 3.9.14 to 3.9.15 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1751\"\u003efreefair/gradle-plugins#1751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.freefair.settings.plugin-versions from 9.2.0 to 9.4.0 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1748\"\u003efreefair/gradle-plugins#1748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Close URLClassLoader in SassCompile to prevent resource leak by \u003ca href=\"https://github.com/Frisch12\"\u003e\u003ccode\u003e@​Frisch12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1725\"\u003efreefair/gradle-plugins#1725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Separate try/catch for license and user fetch in GithubPomPlugin by \u003ca href=\"https://github.com/Frisch12\"\u003e\u003ccode\u003e@​Frisch12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1753\"\u003efreefair/gradle-plugins#1753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot from 4.0.5 to 4.0.6 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1757\"\u003efreefair/gradle-plugins#1757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.graalvm.buildtools.native from 1.0.0 to 1.1.0 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1758\"\u003efreefair/gradle-plugins#1758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-dependencies from 4.0.5 to 4.0.6 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1756\"\u003efreefair/gradle-plugins#1756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(delombok): add sourcepath when module-info.java is present by \u003ca href=\"https://github.com/dtrunk90\"\u003e\u003ccode\u003e@​dtrunk90\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1754\"\u003efreefair/gradle-plugins#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-starter from 4.0.5 to 4.0.6 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1755\"\u003efreefair/gradle-plugins#1755\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/dtrunk90\"\u003e\u003ccode\u003e@​dtrunk90\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1754\"\u003efreefair/gradle-plugins#1754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/9.4.0...9.5.0\"\u003ehttps://github.com/freefair/gradle-plugins/compare/9.4.0...9.5.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/freefair/gradle-plugins/commit/f24a7d5017f1398456aa81aa3508b6f6e8e0958f\"\u003e\u003ccode\u003ef24a7d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1755\"\u003e#1755\u003c/a\u003e from freefair/dependabot/gradle/examples/main/org.sp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/278081cc0de663edc73d11dcb2cef5f6ac41e215\"\u003e\u003ccode\u003e278081c\u003c/code\u003e\u003c/a\u003e fix deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/a1cf2466cebe5ddb32cf73d50f14340bdb10df38\"\u003e\u003ccode\u003ea1cf246\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1754\"\u003e#1754\u003c/a\u003e from dtrunk90/fix/delombok-sourcepath-for-modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/91dbece72624107847d2dbd3d20b8288efcb329d\"\u003e\u003ccode\u003e91dbece\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/88570fc873b9ef3894269ca5922aa6c854604321\"\u003e\u003ccode\u003e88570fc\u003c/code\u003e\u003c/a\u003e fix checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/9ad981d2df81d9224fb45648315f7f0407788168\"\u003e\u003ccode\u003e9ad981d\u003c/code\u003e\u003c/a\u003e Bump org.springframework.boot:spring-boot-dependencies in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1756\"\u003e#1756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/7bf9d6e5bca3a1951afecb131fb837424bdc68d1\"\u003e\u003ccode\u003e7bf9d6e\u003c/code\u003e\u003c/a\u003e Bump org.graalvm.buildtools.native from 1.0.0 to 1.1.0 in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/f527dd01048c749bd6234e7dc12a3c278d948bf8\"\u003e\u003ccode\u003ef527dd0\u003c/code\u003e\u003c/a\u003e fix javadoc link config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/27901fffa43c273ebb63d38bca93111af79f5889\"\u003e\u003ccode\u003e27901ff\u003c/code\u003e\u003c/a\u003e Update to Gradle 9.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/8cfe90c133229d6c14e8307a77e2292c5e5087cb\"\u003e\u003ccode\u003e8cfe90c\u003c/code\u003e\u003c/a\u003e Bump org.springframework.boot from 4.0.5 to 4.0.6 in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/9.4.0...9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/f17a4f7a7ffe895be367ce91afc6b06632643126\"\u003e\u003ccode\u003ef17a4f7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/c6411e17ced5463d93fc6577f7bd5a76a43fd1e5\"\u003e\u003ccode\u003ec6411e1\u003c/code\u003e\u003c/a\u003e Prep for 2.21.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/52633da4cc57d73d149af203b145b221af08257f\"\u003e\u003ccode\u003e52633da\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1fa7bb9c536fa64d63e790747a4e8c1d41e77fe0\"\u003e\u003ccode\u003e1fa7bb9\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6dea8a80278a46a26880c3a9964b848da8ce78d8\"\u003e\u003ccode\u003e6dea8a8\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ada244d0a1df6fbd318fd813fff444a2cbcf2398\"\u003e\u003ccode\u003eada244d\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/52f69d357431805db816c1f11e2403143dea49e6\"\u003e\u003ccode\u003e52f69d3\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/899d70ae7ddf5bb42db09bfe3c384b7fe4b68808\"\u003e\u003ccode\u003e899d70a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a006b52ed5de9ac8e94a0074e7e0c09317b5c15d\"\u003e\u003ccode\u003ea006b52\u003c/code\u003e\u003c/a\u003e Prep for 2.18.8 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4c058160d03fcf6b66d9a270e1a1b1451c8108f3\"\u003e\u003ccode\u003e4c05816\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-core` from 3.1.2 to 3.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/222daf285a23b1bb61c672538bd15a5f7443d1b1\"\u003e\u003ccode\u003e222daf2\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-3.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/7854eccf7127a82fe79125268d0e567c61cec5d0\"\u003e\u003ccode\u003e7854ecc\u003c/code\u003e\u003c/a\u003e Prep for 3.1.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/31937c4a525564381890667d24ff2726016679c7\"\u003e\u003ccode\u003e31937c4\u003c/code\u003e\u003c/a\u003e Merge branch '2.x' into 3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/7db5b5073ac10f90ece51a762a86adaea1da8c2a\"\u003e\u003ccode\u003e7db5b50\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4c058160d03fcf6b66d9a270e1a1b1451c8108f3\"\u003e\u003ccode\u003e4c05816\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6cd594cc3322db3dddf6efa29eb267ce77610b34\"\u003e\u003ccode\u003e6cd594c\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/b561668733d0d6eb8924fed11695e4e9cc95eab3\"\u003e\u003ccode\u003eb561668\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/88e394136bcd3a0b3e19770eab55158f43bd8976\"\u003e\u003ccode\u003e88e3941\u003c/code\u003e\u003c/a\u003e Add back JDK 11 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/fa4ee09afcc19a3d1328dbdd231e6eabda68b4dc\"\u003e\u003ccode\u003efa4ee09\u003c/code\u003e\u003c/a\u003e Test refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/797d509fe02aa2747248976db2a461cb77064a15\"\u003e\u003ccode\u003e797d509\u003c/code\u003e\u003c/a\u003e test refactoring\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-3.1.2...jackson-core-3.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.20.6 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e2.0.4\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/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/1.20.6...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.httpcomponents:httpclient` from 4.5.13 to 4.5.14\n\nUpdates `io.sentry.jvm.gradle` from 6.5.0 to 6.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/releases\"\u003eio.sentry.jvm.gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.9.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefer instrumentation log directory creation to execution time and use variant-specific paths to prevent log file corruption during parallel variant transforms (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1236\"\u003e#1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.4.2 to v3.4.3 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1215\"\u003e#1215\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#343\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.2...3.4.3\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.42.0 to v8.43.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1241\"\u003e#1241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8430\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.42.0...8.43.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFail fast with a clear error when Snapshots feature is used with AGP 7.x (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1212\"\u003e#1212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.41.0 to v8.42.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1207\"\u003e#1207\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8420\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.41.0...8.42.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix snapshot upload error by using string values for all sidecar tags (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd global \u003ccode\u003ediffThreshold\u003c/code\u003e option for snapshots (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1186\"\u003e#1186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange auto-install trigger for log4j2 from -api to -core dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.40.0 to v8.41.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1182\"\u003e#1182\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8410\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.40.0...8.41.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.1 to v3.4.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1185\"\u003e#1185\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#342\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.1...3.4.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.6.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/blob/main/CHANGELOG.md\"\u003eio.sentry.jvm.gradle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.9.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefer instrumentation log directory creation to execution time and use variant-specific paths to prevent log file corruption during parallel variant transforms (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1236\"\u003e#1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.4.2 to v3.4.3 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1215\"\u003e#1215\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#343\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.2...3.4.3\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.42.0 to v8.43.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1241\"\u003e#1241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8430\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.42.0...8.43.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFail fast with a clear error when Snapshots feature is used with AGP 7.x (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1212\"\u003e#1212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.41.0 to v8.42.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1207\"\u003e#1207\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8420\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.41.0...8.42.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix snapshot upload error by using string values for all sidecar tags (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd global \u003ccode\u003ediffThreshold\u003c/code\u003e option for snapshots (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1186\"\u003e#1186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange auto-install trigger for log4j2 from -api to -core dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.40.0 to v8.41.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1182\"\u003e#1182\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8410\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.40.0...8.41.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/496a6c8e926a14bdf5ae23ef608a788213ef16de\"\u003e\u003ccode\u003e496a6c8\u003c/code\u003e\u003c/a\u003e release: 6.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/f1502009b6c69e7b1a1f0c0215747800b927c61e\"\u003e\u003ccode\u003ef150200\u003c/code\u003e\u003c/a\u003e fix(plugin): Make instrumentation log dir variant-specific (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1236\"\u003e#1236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/b1a92d84d728a8d3599d551f808b22ed8eeb913b\"\u003e\u003ccode\u003eb1a92d8\u003c/code\u003e\u003c/a\u003e ref(gradle): Replace File with DirectoryProperty in SentryCliProvider (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1231\"\u003e#1231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/c636f24c4f69f896e0dfba0ef8784f1d1c1ddc5f\"\u003e\u003ccode\u003ec636f24\u003c/code\u003e\u003c/a\u003e Enable configuration caching (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/928\"\u003e#928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/536746a76af4c6712c608b23cc91f8e3464a6a5c\"\u003e\u003ccode\u003e536746a\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-android.sh to 8.43.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1241\"\u003e#1241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/0fc7a3855b9be2a94ad9058b14b7cc103b9cc907\"\u003e\u003ccode\u003e0fc7a38\u003c/code\u003e\u003c/a\u003e chore(ci): Update gradle/actions to v6 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1239\"\u003e#1239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/830eb859c4bf4db1c68d10e3a14af8df13e11927\"\u003e\u003ccode\u003e830eb85\u003c/code\u003e\u003c/a\u003e feat(gradle): Apply Common Custom User Data plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1238\"\u003e#1238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/5c6e44dc2a71303056a03d8429a03713cd148ed6\"\u003e\u003ccode\u003e5c6e44d\u003c/code\u003e\u003c/a\u003e feat(gradle): Apply Develocity Build Scan plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1237\"\u003e#1237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/63af5f9adcc94a9ab4c3aac0fade2ecb1e59dc2e\"\u003e\u003ccode\u003e63af5f9\u003c/code\u003e\u003c/a\u003e ref(gradle): Replace project.buildDir with layout.buildDirectory in SentryTel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/7504ec2bb332cdc36956d17832ad4084ffbc6eb8\"\u003e\u003ccode\u003e7504ec2\u003c/code\u003e\u003c/a\u003e fix(ci): Use JVM 17 for test tasks (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1232\"\u003e#1232\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/compare/6.5.0...6.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 6.25.0 to 8.6.0\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/laa-data-claims-certificated-api/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-data-claims-certificated-api/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"4624183396","node_id":"PR_kwDOR_8iys7kfO3d","number":8,"state":"closed","title":"chore(deps/android): bump gradle-wrapper from 8.14.3 to 9.5.1 in /android","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-09T19:22:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T17:33:27.000Z","updated_at":"2026-06-09T19:22:43.000Z","time_to_close":6554,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps/android)","packages":[{"name":"gradle-wrapper","old_version":"8.14.3","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":"/android","ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 8.14.3 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.3...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=8.14.3\u0026new-version=9.5.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/StellaSecret/AsthmeTrack/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/StellaSecret%2FAsthmeTrack/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4620055477","node_id":"PR_kwDOPqJ4i87kRkU8","number":151,"state":"closed","title":"build(deps): bump the gradle group with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T21:07:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T07:57:19.000Z","updated_at":"2026-06-12T21:08:01.000Z","time_to_close":306640,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":28,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.github.resilience4j:resilience4j-bom","old_version":"2.2.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"software.amazon.awssdk:s3","old_version":"2.25.36","new_version":"2.46.6"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.41","new_version":"2.2.50"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.projectlombok:lombok","old_version":"1.18.40","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"cn.hutool:hutool-core","old_version":"5.8.25","new_version":"5.8.46"},{"name":"cn.hutool:hutool-crypto","old_version":"5.8.25","new_version":"5.8.46","repository_url":"https://github.com/chinabugotech/hutool"},{"name":"com.google.guava:guava","old_version":"31.1-jre","new_version":"33.6.0-jre","repository_url":"https://github.com/google/guava"},{"name":"commons-net:commons-net","old_version":"3.11.1","new_version":"3.13.0","repository_url":"https://github.com/apache/commons-net"},{"name":"com.ibm.icu:icu4j","old_version":"76.1","new_version":"78.3","repository_url":"https://github.com/unicode-org/icu"},{"name":"org.jsoup:jsoup","old_version":"1.18.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.apache.rocketmq:rocketmq-spring-boot-starter","old_version":"2.3.1","new_version":"2.3.6","repository_url":"https://github.com/apache/rocketmq-spring"},{"name":"com.xuxueli:xxl-job-core","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/xuxueli/xxl-job"},{"name":"io.minio:minio","old_version":"8.5.7","new_version":"9.0.1","repository_url":"https://github.com/minio/minio-java"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.1.0","new_version":"4.5.0"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.11.4","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-core","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.awaitility:awaitility","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/awaitility/awaitility"},{"name":"org.objenesis:objenesis","old_version":"3.4","new_version":"3.5","repository_url":"https://github.com/easymock/objenesis"},{"name":"org.wiremock:wiremock-standalone","old_version":"3.10.0","new_version":"3.13.2","repository_url":"https://github.com/wiremock/wiremock"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.6.0"},{"name":"com.github.spotbugs","old_version":"6.4.8","new_version":"6.5.5"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 28 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [io.github.resilience4j:resilience4j-bom](https://github.com/resilience4j/resilience4j) | `2.2.0` | `2.4.0` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| software.amazon.awssdk:s3 | `2.25.36` | `2.46.6` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.41` | `2.2.50` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.40` | `1.18.46` |\n| cn.hutool:hutool-core | `5.8.25` | `5.8.46` |\n| [cn.hutool:hutool-crypto](https://github.com/chinabugotech/hutool) | `5.8.25` | `5.8.46` |\n| [com.google.guava:guava](https://github.com/google/guava) | `31.1-jre` | `33.6.0-jre` |\n| [commons-net:commons-net](https://github.com/apache/commons-net) | `3.11.1` | `3.13.0` |\n| [com.ibm.icu:icu4j](https://github.com/unicode-org/icu) | `76.1` | `78.3` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.3` | `1.22.2` |\n| [org.apache.rocketmq:rocketmq-spring-boot-starter](https://github.com/apache/rocketmq-spring) | `2.3.1` | `2.3.6` |\n| [com.xuxueli:xxl-job-core](https://github.com/xuxueli/xxl-job) | `3.2.0` | `3.4.0` |\n| [io.minio:minio](https://github.com/minio/minio-java) | `8.5.7` | `9.0.1` |\n| org.redisson:redisson-spring-boot-starter | `4.1.0` | `4.5.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.11.4` | `6.1.0` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| [org.awaitility:awaitility](https://github.com/awaitility/awaitility) | `4.2.2` | `4.3.0` |\n| [org.objenesis:objenesis](https://github.com/easymock/objenesis) | `3.4` | `3.5` |\n| [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) | `3.10.0` | `3.13.2` |\n| com.diffplug.spotless | `7.0.4` | `8.6.0` |\n| com.github.spotbugs | `6.4.8` | `6.5.5` |\n\nUpdates `gradle-wrapper` from 9.5.0 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\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/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/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.resilience4j:resilience4j-bom` from 2.2.0 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resilience4j/resilience4j/releases\"\u003eio.github.resilience4j:resilience4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support of initializing circuitBreaker in desired state from config by \u003ca href=\"https://github.com/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2269\"\u003e#2269\u003c/a\u003e: Added getCausingRateLimiterName by \u003ca href=\"https://github.com/noomkram\"\u003e\u003ccode\u003e@​noomkram\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2270\"\u003eresilience4j/resilience4j#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTime limiter registry builder by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2291\"\u003eresilience4j/resilience4j#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue resilience4j#2285: Add HealthContributorAutoConfiguration to ConditionalOnClass by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2286\"\u003eresilience4j/resilience4j#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2278\"\u003e#2278\u003c/a\u003e: Added ThreadPoolBulkhead to some Decorators by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2284\"\u003eresilience4j/resilience4j#2284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect registry config in aspect by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2282\"\u003eresilience4j/resilience4j#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2285\"\u003e#2285\u003c/a\u003e - add configuration to move circuit breaker from half open to closed state by \u003ca href=\"https://github.com/victorpasqualino\"\u003e\u003ccode\u003e@​victorpasqualino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2290\"\u003eresilience4j/resilience4j#2290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.0.2 to 4.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2252\"\u003eresilience4j/resilience4j#2252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove dependency on kotlin-stdlib-jdk8 from resilience4j-core by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2301\"\u003eresilience4j/resilience4j#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBring back 'slidingWindow' with default synchronization strategy by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2302\"\u003eresilience4j/resilience4j#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd withFallback() methods to DecorateFunction by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2312\"\u003eresilience4j/resilience4j#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2295\"\u003e#2295\u003c/a\u003e: Ensure ignoreExceptions take precedence over recordExceptions by \u003ca href=\"https://github.com/kssumin\"\u003e\u003ccode\u003e@​kssumin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2304\"\u003eresilience4j/resilience4j#2304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix spring boot3 customizer application order by \u003ca href=\"https://github.com/alexey-grigorovich-savvymoney\"\u003e\u003ccode\u003e@​alexey-grigorovich-savvymoney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2321\"\u003eresilience4j/resilience4j#2321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(1910): update grafana dashboard by \u003ca href=\"https://github.com/JoranVanBelle\"\u003e\u003ccode\u003e@​JoranVanBelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2318\"\u003eresilience4j/resilience4j#2318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide key for components using SpEL for names by \u003ca href=\"https://github.com/doumdoum\"\u003e\u003ccode\u003e@​doumdoum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2329\"\u003eresilience4j/resilience4j#2329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2224\"\u003e#2224\u003c/a\u003e : Bump jdk from 17 to 21 for support virtual thread by \u003ca href=\"https://github.com/ykhfree\"\u003e\u003ccode\u003e@​ykhfree\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2331\"\u003eresilience4j/resilience4j#2331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing eventConsumerBufferSize merge for Retry config by \u003ca href=\"https://github.com/skowrxn\"\u003e\u003ccode\u003e@​skowrxn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2344\"\u003eresilience4j/resilience4j#2344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2334\"\u003eGH-2334\u003c/a\u003e fix: reject TIME_BASED + LOCK_FREE when slidingWindowSize \u0026lt; 2 by \u003ca href=\"https://github.com/bandalgomsu\"\u003e\u003ccode\u003e@​bandalgomsu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2358\"\u003eresilience4j/resilience4j#2358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add setter for bulkheadAspectOrder property by \u003ca href=\"https://github.com/NiMv1\"\u003e\u003ccode\u003e@​NiMv1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2386\"\u003eresilience4j/resilience4j#2386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Clarify Aspect Order defaults for Spring Boot 3 to prevent metric inflation by \u003ca href=\"https://github.com/GarimaBokdia\"\u003e\u003ccode\u003e@​GarimaBokdia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2387\"\u003eresilience4j/resilience4j#2387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Spring Boot 4 / Spring Cloud 5 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2384\"\u003eresilience4j/resilience4j#2384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTimeLimiter, take success path when completing without error by \u003ca href=\"https://github.com/TheFrogAndy\"\u003e\u003ccode\u003e@​TheFrogAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2374\"\u003eresilience4j/resilience4j#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd back OSGi meta data with bnd builder plugin by \u003ca href=\"https://github.com/chrisrueger\"\u003e\u003ccode\u003e@​chrisrueger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2385\"\u003eresilience4j/resilience4j#2385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/536\"\u003e#536\u003c/a\u003e: Added best practices documentation for instance management by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2389\"\u003eresilience4j/resilience4j#2389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to mock nanoTime in RateLimiter by \u003ca href=\"https://github.com/strokyl\"\u003e\u003ccode\u003e@​strokyl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2356\"\u003eresilience4j/resilience4j#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2397\"\u003e#2397\u003c/a\u003e: compile SPEL regex'es only once by \u003ca href=\"https://github.com/stokpop\"\u003e\u003ccode\u003e@​stokpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2398\"\u003eresilience4j/resilience4j#2398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate publishing to use new Sonatype urls and add release workflow by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2393\"\u003eresilience4j/resilience4j#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1450\"\u003e#1450\u003c/a\u003e: Fixed Grafana dashboard metric query for call rate panel by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2391\"\u003eresilience4j/resilience4j#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1448\"\u003e#1448\u003c/a\u003e: Fixed Duration property binding in Spring Boot 2 by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2390\"\u003eresilience4j/resilience4j#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2327\"\u003e#2327\u003c/a\u003e: Correct \u003ca href=\"https://github.com/see\"\u003e\u003ccode\u003e@​see\u003c/code\u003e\u003c/a\u003e tag usage in CircuitBreakerConfig Javadoc by \u003ca href=\"https://github.com/chanani\"\u003e\u003ccode\u003e@​chanani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2400\"\u003eresilience4j/resilience4j#2400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2368\"\u003e#2368\u003c/a\u003e: Fix Retry retryOnResult interrupt handling: throw CancellationException instead of NPE by \u003ca href=\"https://github.com/platanus-kr\"\u003e\u003ccode\u003e@​platanus-kr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2392\"\u003eresilience4j/resilience4j#2392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in Spring aspect docs by \u003ca href=\"https://github.com/gukin-han\"\u003e\u003ccode\u003e@​gukin-han\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2399\"\u003eresilience4j/resilience4j#2399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2354\"\u003eGH-2354\u003c/a\u003e Remove kotlin-stdlib from resilience4j-core by \u003ca href=\"https://github.com/josalmi\"\u003e\u003ccode\u003e@​josalmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2359\"\u003eresilience4j/resilience4j#2359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded CheckedSupplierUtils and deprecated CheckedFunctionUtils by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2313\"\u003eresilience4j/resilience4j#2313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse correct constant for initializing CircuitBreakerConfig.Builder.waitIntervalFunctionInOpenState by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2402\"\u003eresilience4j/resilience4j#2402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded bulkhead name to BulkheadFullException by \u003ca href=\"https://github.com/dominic-miglar\"\u003e\u003ccode\u003e@​dominic-miglar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2349\"\u003eresilience4j/resilience4j#2349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unrelated flaky Clock test from CircuitBreakerEventTest by \u003ca href=\"https://github.com/KimDoubleB\"\u003e\u003ccode\u003e@​KimDoubleB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2409\"\u003eresilience4j/resilience4j#2409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded decorateFunction and executeFunction to TimeLimiter by \u003ca href=\"https://github.com/zbnerd\"\u003e\u003ccode\u003e@​zbnerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2407\"\u003eresilience4j/resilience4j#2407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3/4 by \u003ca href=\"https://github.com/seokjun7410\"\u003e\u003ccode\u003e@​seokjun7410\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2406\"\u003eresilience4j/resilience4j#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove log spam from tests by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2412\"\u003eresilience4j/resilience4j#2412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet JDK target back to 17 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2415\"\u003eresilience4j/resilience4j#2415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix release workflow: unquoted multi-line GPG key breaks Gradle invocation by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2416\"\u003eresilience4j/resilience4j#2416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead env variables from gradle for gpg key by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2417\"\u003eresilience4j/resilience4j#2417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable SNAPSHOT artifact signing from master by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2418\"\u003eresilience4j/resilience4j#2418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove sign skip on snapshot version by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2419\"\u003eresilience4j/resilience4j#2419\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/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\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/resilience4j/resilience4j/blob/master/RELEASENOTES.adoc\"\u003eio.github.resilience4j:resilience4j-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e= Release Notes\u003c/p\u003e\n\u003cp\u003e== Version 0.1.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial version\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the functionality to add exceptions with are ignored by the CircuitBreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to get Metrics for function executions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a static factory method for the CircuitBreakerConfig builder\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to retry a failed function\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded builders to simplify chaining of decorators\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.6\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed project to javaslang-circuitbreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2\"\u003e#2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/3\"\u003e#3\u003c/a\u003e Added a listener mechanism for state transitions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.2.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Dropwizard Metrics, because its a too heavy dependency for such a lightweight library.\u003c/li\u003e\n\u003cli\u003eChanged the way exceptions can be handled. You have to provide a Predicate now instead of a list of exceptions to ignore.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.3.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe CircuitBreaker is based on a Ring Bit Buffer and a failure rate now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the visibility of CircuitBreakerUtils.isCallPermitted to public.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreakerRegistry has a new method which takes a Supplier of a CircuitBreakerConfig so that the CircuitBreakerConfig is only created when needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreaker has a new method \u003ccode\u003e+getCircuitBreakerConfig+\u003c/code\u003e which allows to retrieve the CircuitBreakerConfig of the CircuitBreaker.\u003c/li\u003e\n\u003cli\u003eRenamed the state HALF_CLOSED to HALF_OPEN to match the pattern description of Martin Fowler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a Metrics interface to the CircuitBreaker which allows to retrieve current statistics like failureRate and number of buffer calls.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.4.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated javaslang from 2.0.0-RC4 to 2.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/f1c3be8e79d09c70d457b2f89c3f89d03f1b5720\"\u003e\u003ccode\u003ef1c3be8\u003c/code\u003e\u003c/a\u003e Fix signing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/88a8293640244c2a3e3eac7767dabac99a67f2fc\"\u003e\u003ccode\u003e88a8293\u003c/code\u003e\u003c/a\u003e Enable signing for resilience4j-bom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/1ed88c202a93651a063b0f6e78055972c3da66b8\"\u003e\u003ccode\u003e1ed88c2\u003c/code\u003e\u003c/a\u003e Remove sign skip on snapshot version (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2419\"\u003e#2419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ed637ecade5ef07b7601c44033aa51a62884e9d0\"\u003e\u003ccode\u003eed637ec\u003c/code\u003e\u003c/a\u003e Enable SNAPSHOT artifact signing from master (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2418\"\u003e#2418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/d51bce10f37734ec9f13fe69e73edab28e2dd053\"\u003e\u003ccode\u003ed51bce1\u003c/code\u003e\u003c/a\u003e Read env variables from gradle for gpg key (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2417\"\u003e#2417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/89baea75656027cdce4d69e521e0ea9f99d2ac0d\"\u003e\u003ccode\u003e89baea7\u003c/code\u003e\u003c/a\u003e Fix release workflow: unquoted multi-line GPG key breaks Gradle invocation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/b888e8249e746bcb9b005f3a67326ad6d2dab55c\"\u003e\u003ccode\u003eb888e82\u003c/code\u003e\u003c/a\u003e Add GPG key and passphrase to build step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/e9aedeeeccd0672fac64ecd3ee1712e4bda322a4\"\u003e\u003ccode\u003ee9aedee\u003c/code\u003e\u003c/a\u003e Revert JDK target back to 17 (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2415\"\u003e#2415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ad4efb8a3346e289e7913ef30422d5b984151ad1\"\u003e\u003ccode\u003ead4efb8\u003c/code\u003e\u003c/a\u003e Remove log spam from tests (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2412\"\u003e#2412\u003c/a\u003e)4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/cd8f8e066f043d12267732d89a2a08aaa4b8d281\"\u003e\u003ccode\u003ecd8f8e0\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resilience4j/resilience4j/compare/v2.2.0...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.21.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e2.0.4\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/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/1.21.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:s3` from 2.25.36 to 2.46.6\n\nUpdates `io.swagger.core.v3:swagger-annotations-jakarta` from 2.2.41 to 2.2.50\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-scalar` from 3.0.1 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-scalar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\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/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\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/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-scalar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.1...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\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/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\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/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.1...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\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/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\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/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/linqibin0826/patra/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/linqibin0826%2Fpatra/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"},{"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":"4614839602","node_id":"PR_kwDOSvHp_87kANA5","number":11,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T16:46:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T16:51:18.000Z","updated_at":"2026-06-11T16:46:12.000Z","time_to_close":258892,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":12,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"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-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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.test","old_version":"9.2.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 12 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.01` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\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-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.test | `9.2.0` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `dnsjava:dnsjava` from 3.6.4 to 3.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/releases\"\u003ednsjava:dnsjava's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.6.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egetXxxAsByteArray()\u003c/code\u003e getters and overload with escape boolean (\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: The tag for this release is \u003ccode\u003ev3.6.5-1\u003c/code\u003e, because the v3.6.5 tag accidentally pointed to a local branch and cannot be changed anymore because of the immutable releases. The Maven artifacts from the \u003ca href=\"https://github.com/dnsjava/dnsjava/actions/runs/26331191483\"\u003eActions run\u003c/a\u003e are correct.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\"\u003ehttps://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/blob/master/Changelog\"\u003ednsjava:dnsjava's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e05/23/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.5 released\u003c/li\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd getXxxAsByteArray() getters and overload with escape boolean\n(\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/18/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.4 released\u003c/li\u003e\n\u003cli\u003eFix Zone-class serialization (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid Double DNS Lookup for Names with Labels \u0026gt;= ndots (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent NPE when calling Message#getTSIG() on DNS request with\nbad header (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnwrap an exception in the legacy callback-based async interface (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent ConcurrentModificationException in NIO clients\n(\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/379\"\u003e#379\u003c/a\u003e, \u003ca href=\"https://github.com/bhaveshthakker\"\u003e\u003ccode\u003e@​bhaveshthakker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003enull\u003c/code\u003e in all setSearchPath overloads equally (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce warning level of invalid \u003ccode\u003ehosts\u003c/code\u003e file entries (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a lock on the hot-path in the \u003ccode\u003ehosts\u003c/code\u003e file parser (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDoH Resolver makes use of the Multi-Release jar and tests are executed\nfor Java 8 and 11+ implementations (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH Resolver initial request delay (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/26/2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.3 released\u003c/li\u003e\n\u003cli\u003eSupport custom hosts file size (\u003ca href=\"https://github.com/flaming-archer\"\u003e\u003ccode\u003e@​flaming-archer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix origin handling in zone loaded from file or stream (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent TCP port leak when closing IO (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix confusing parameter name in CNAMERecord (\u003ca href=\"https://github.com/chkal\"\u003e\u003ccode\u003e@​chkal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptionally disable ShutdownHook in NioClient (\u003ca href=\"https://github.com/SvenssonWeb\"\u003e\u003ccode\u003e@​SvenssonWeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTSIG algorithm names from RFC 8945\u003c/li\u003e\n\u003cli\u003eMessage.toWire can exceed MAXLENGTH (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTCP query might fail if the shared buffer is full (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDynamic updates silently truncates records (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH initial request using recommended nanoTime calculation\n(\u003ca href=\"https://github.com/LinZong\"\u003e\u003ccode\u003e@​LinZong\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/345\"\u003e#345\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/21/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.2 released\u003c/li\u003e\n\u003cli\u003eAdd new IANA Trust Anchor (\u003ca href=\"https://github.com/technolord\"\u003e\u003ccode\u003e@​technolord\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Zone handling with signed SOA (\u003ca href=\"https://github.com/frankarinnet\"\u003e\u003ccode\u003e@​frankarinnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/28/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.1 released\u003c/li\u003e\n\u003cli\u003eProperly fix LookupSession doesn't cache CNAMEs (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove JEP-418 SPI to Java 18 to support EOL workflows (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/21/2024\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/dnsjava/dnsjava/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\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.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\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/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\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.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/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/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\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.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/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/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/kevin272/openclaww/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin272%2Fopenclaww/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4614825620","node_id":"PR_kwDOR-z3gc7kAKD0","number":25,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T16:45:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T16:49:27.000Z","updated_at":"2026-06-11T16:45:34.000Z","time_to_close":258965,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.1.0","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.1.0` | `9.2.1` |\n| com.android.test | `9.1.0` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.1.0 to 9.2.1\n\nUpdates `com.android.test` from 9.1.0 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/bulidWorld/my-openclaw/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bulidWorld%2Fmy-openclaw/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"},{"uuid":"4614103206","node_id":"PR_kwDOMjtDJ87j9vai","number":144,"state":"closed","title":"build(deps): bump gradle-wrapper from 8.9 to 9.5.1","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-10T23:34:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T15:14:21.000Z","updated_at":"2026-06-10T23:35:00.000Z","time_to_close":202829,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"gradle-wrapper","old_version":"8.9","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 8.9 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.9.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=8.9\u0026new-version=9.5.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/themartdev/intellij-gleam/pull/144","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/themartdev%2Fintellij-gleam/issues/144","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/144/packages"},{"uuid":"4614072327","node_id":"PR_kwDORn6Odc7j9owj","number":43,"state":"open","title":"chore(deps): bump the android-deps group across 1 directory with 24 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-06-08T15:10:29.000Z","updated_at":"2026-06-08T15:13:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/stvceto2171-blip/dasubot/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stvceto2171-blip%2Fdasubot/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"},{"uuid":"4611747831","node_id":"PR_kwDOR_Nprc7j18A6","number":26,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T09:25:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T09:44:13.000Z","updated_at":"2026-06-11T09:25:29.000Z","time_to_close":258074,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.1.0","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.1.0` | `9.2.1` |\n| com.android.test | `9.1.0` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.1.0 to 9.2.1\n\nUpdates `com.android.test` from 9.1.0 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/wv26296-ux/nora/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wv26296-ux%2Fnora/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4610455825","node_id":"PR_kwDORl_kGs7jxryk","number":49,"state":"closed","title":"chore(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T06:08:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T06:13:27.000Z","updated_at":"2026-06-11T06:08:48.000Z","time_to_close":258919,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/LaurenBerrys/ClawMark/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaurenBerrys%2FClawMark/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"},{"uuid":"4609981652","node_id":"PR_kwDOSMfcws7jwJdW","number":11,"state":"open","title":"chore(deps): Bump the production-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T04:18:43.000Z","updated_at":"2026-06-08T04:18:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"production-dependencies","update_count":5,"packages":[{"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"},{"name":"jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the production-dependencies group with 4 updates in the / directory: [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines), [jvm](https://github.com/JetBrains/kotlin), [plugin.serialization](https://github.com/JetBrains/kotlin) and [gradle-wrapper](https://github.com/gradle/gradle).\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\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\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 arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jvm` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003ejvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003ejvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency...\n\n_Description has been truncated_","html_url":"https://github.com/FloopFloopAI/floop-kotlin-sdk/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FloopFloopAI%2Ffloop-kotlin-sdk/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4609493733","node_id":"PR_kwDOSQIFhs7julHg","number":23,"state":"closed","title":"Bump the android-deps group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T01:55:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:59:22.000Z","updated_at":"2026-06-11T01:55:01.000Z","time_to_close":258938,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"android-deps","update_count":12,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"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-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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.test","old_version":"9.2.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 12 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.01` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\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-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.test | `9.2.0` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `dnsjava:dnsjava` from 3.6.4 to 3.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/releases\"\u003ednsjava:dnsjava's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.6.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egetXxxAsByteArray()\u003c/code\u003e getters and overload with escape boolean (\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: The tag for this release is \u003ccode\u003ev3.6.5-1\u003c/code\u003e, because the v3.6.5 tag accidentally pointed to a local branch and cannot be changed anymore because of the immutable releases. The Maven artifacts from the \u003ca href=\"https://github.com/dnsjava/dnsjava/actions/runs/26331191483\"\u003eActions run\u003c/a\u003e are correct.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\"\u003ehttps://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/blob/master/Changelog\"\u003ednsjava:dnsjava's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e05/23/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.5 released\u003c/li\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd getXxxAsByteArray() getters and overload with escape boolean\n(\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/18/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.4 released\u003c/li\u003e\n\u003cli\u003eFix Zone-class serialization (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid Double DNS Lookup for Names with Labels \u0026gt;= ndots (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent NPE when calling Message#getTSIG() on DNS request with\nbad header (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnwrap an exception in the legacy callback-based async interface (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent ConcurrentModificationException in NIO clients\n(\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/379\"\u003e#379\u003c/a\u003e, \u003ca href=\"https://github.com/bhaveshthakker\"\u003e\u003ccode\u003e@​bhaveshthakker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003enull\u003c/code\u003e in all setSearchPath overloads equally (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce warning level of invalid \u003ccode\u003ehosts\u003c/code\u003e file entries (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a lock on the hot-path in the \u003ccode\u003ehosts\u003c/code\u003e file parser (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDoH Resolver makes use of the Multi-Release jar and tests are executed\nfor Java 8 and 11+ implementations (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH Resolver initial request delay (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/26/2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.3 released\u003c/li\u003e\n\u003cli\u003eSupport custom hosts file size (\u003ca href=\"https://github.com/flaming-archer\"\u003e\u003ccode\u003e@​flaming-archer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix origin handling in zone loaded from file or stream (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent TCP port leak when closing IO (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix confusing parameter name in CNAMERecord (\u003ca href=\"https://github.com/chkal\"\u003e\u003ccode\u003e@​chkal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptionally disable ShutdownHook in NioClient (\u003ca href=\"https://github.com/SvenssonWeb\"\u003e\u003ccode\u003e@​SvenssonWeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTSIG algorithm names from RFC 8945\u003c/li\u003e\n\u003cli\u003eMessage.toWire can exceed MAXLENGTH (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTCP query might fail if the shared buffer is full (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDynamic updates silently truncates records (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH initial request using recommended nanoTime calculation\n(\u003ca href=\"https://github.com/LinZong\"\u003e\u003ccode\u003e@​LinZong\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/345\"\u003e#345\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/21/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.2 released\u003c/li\u003e\n\u003cli\u003eAdd new IANA Trust Anchor (\u003ca href=\"https://github.com/technolord\"\u003e\u003ccode\u003e@​technolord\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Zone handling with signed SOA (\u003ca href=\"https://github.com/frankarinnet\"\u003e\u003ccode\u003e@​frankarinnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/28/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.1 released\u003c/li\u003e\n\u003cli\u003eProperly fix LookupSession doesn't cache CNAMEs (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove JEP-418 SPI to Java 18 to support EOL workflows (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/21/2024\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/dnsjava/dnsjava/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\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.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\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/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\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.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/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/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\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.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/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/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/gavip2k/Openclaw-github/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavip2k%2FOpenclaw-github/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4609489809","node_id":"PR_kwDORok5eM7jukXF","number":43,"state":"closed","title":"build(deps): Bump the android-deps 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-11T01:54:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:58:01.000Z","updated_at":"2026-06-11T01:54:39.000Z","time_to_close":258996,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"android-deps","update_count":21,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.03.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.7","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 15 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.03.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.7` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.03.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure th...\n\n_Description has been truncated_","html_url":"https://github.com/zhuxiaoke27/DrewClaw/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhuxiaoke27%2FDrewClaw/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"},{"uuid":"4609397771","node_id":"PR_kwDORf3i-s7juR8f","number":31,"state":"closed","title":"chore(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T01:24:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:28:12.000Z","updated_at":"2026-06-11T01:24:36.000Z","time_to_close":258982,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/daojiagroup/openclaw/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/daojiagroup%2Fopenclaw/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"},{"uuid":"4609371499","node_id":"PR_kwDORn7IsM7juMsw","number":36,"state":"closed","title":"Bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T01:14:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:18:48.000Z","updated_at":"2026-06-11T01:14:51.000Z","time_to_close":258961,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/Alexanderkuerti/jarvis-workspace/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexanderkuerti%2Fjarvis-workspace/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"},{"uuid":"4609312165","node_id":"PR_kwDOSA4LW87juBEz","number":31,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T00:54:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T00:59:14.000Z","updated_at":"2026-06-11T00:54:57.000Z","time_to_close":258942,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.1.0","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.1.0` | `9.2.1` |\n| com.android.test | `9.1.0` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.1.0 to 9.2.1\n\nUpdates `com.android.test` from 9.1.0 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/Schwad/secretclaw/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schwad%2Fsecretclaw/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}],"issue_packages":[{"old_version":"9.5.0","new_version":"9.5.1","update_type":"patch","path":null,"pr_created_at":"2026-06-15T03:09:19.000Z","version_change":"9.5.0 → 9.5.1","issue":{"uuid":"4661723006","node_id":"PR_kwDORxw68M7mXLkQ","number":19,"state":"open","title":"chore(deps): bump gradle-wrapper from 9.5.0 to 9.5.1","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-06-15T03:09:19.000Z","updated_at":"2026-06-15T03:21:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.5.0 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\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/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/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=9.5.0\u0026new-version=9.5.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/ckob/lazygit-intellij-plugin/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckob%2Flazygit-intellij-plugin/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"9.0.0","new_version":"9.5.1","update_type":"minor","path":"/android","pr_created_at":"2026-06-14T23:16:56.000Z","version_change":"9.0.0 → 9.5.1","issue":{"uuid":"4660973684","node_id":"PR_kwDOS6yXEM7mU3fD","number":2,"state":"open","title":"deps(deps): bump the gradle-minor-and-patch group in /android with 16 updates","user":"dependabot[bot]","labels":[],"assignees":["MarkS0485"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-14T23:16:56.000Z","updated_at":"2026-06-14T23:16:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"gradle-minor-and-patch","update_count":16,"packages":[{"name":"gradle-wrapper","old_version":"9.0.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core-ktx","old_version":"1.13.1","new_version":"1.19.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.6","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.6","new_version":"2.10.0"},{"name":"androidx.activity:activity-compose","old_version":"1.9.3","new_version":"1.13.0"},{"name":"androidx.navigation:navigation-compose","old_version":"2.8.3","new_version":"2.9.8"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.1","new_version":"1.2.1"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.7.3","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-android","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"androidx.room:room-runtime","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-ktx","old_version":"2.6.1","new_version":"2.8.4"},{"name":"androidx.room:room-compiler","old_version":"2.6.1","new_version":"2.8.4"},{"name":"org.jetbrains.kotlin.android","old_version":"2.0.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.0.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.0.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp","old_version":"2.0.21-1.0.27","new_version":"2.3.9","repository_url":"https://github.com/google/ksp"}],"path":"/android","ecosystem":"maven"},"body":"Bumps the gradle-minor-and-patch group in /android with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.0.0` | `9.5.1` |\n| androidx.core:core-ktx | `1.13.1` | `1.19.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.6` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.6` | `2.10.0` |\n| androidx.activity:activity-compose | `1.9.3` | `1.13.0` |\n| androidx.navigation:navigation-compose | `2.8.3` | `2.9.8` |\n| androidx.datastore:datastore-preferences | `1.1.1` | `1.2.1` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.7.3` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.11.0` |\n| androidx.room:room-runtime | `2.6.1` | `2.8.4` |\n| androidx.room:room-ktx | `2.6.1` | `2.8.4` |\n| androidx.room:room-compiler | `2.6.1` | `2.8.4` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.4.0` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.0.21-1.0.27` | `2.3.9` |\n\nUpdates `gradle-wrapper` from 9.0.0 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/v9.0.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core-ktx` from 1.13.1 to 1.19.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.6 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.6 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.6 to 2.10.0\n\nUpdates `androidx.activity:activity-compose` from 1.9.3 to 1.13.0\n\nUpdates `androidx.navigation:navigation-compose` from 2.8.3 to 2.9.8\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.1 to 1.2.1\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.10.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003cp\u003eKotlin 2.3.0 \u003ca href=\"https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker\"\u003eintroduces a new feature\u003c/a\u003e aimed at helping you to catch bugs related to the accidentally ignored return value of the function.\nkotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you can get warnings for unused function calls like \u003ccode\u003eJson.encodeToString(...)\u003c/code\u003e. To get the warnings, the feature has to be enabled in your project as \u003ca href=\"https://kotlinlang.org/docs/unused-return-value-checker.html#configure-the-unused-return-value-checker\"\u003edescribed here\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ePolymorphism improvements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.10.0 / 2026-01-21\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.\nThe only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3079\"\u003e#3079\u003c/a\u003e).\nBig thanks to \u003ca href=\"https://github.com/KosmX\"\u003eKosmX\u003c/a\u003e for contributing the fix.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eFor your convenience, the changelog for 1.10.0-RC is duplicated below:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eStabilization of APIs\u003c/h2\u003e\n\u003cp\u003ekotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.\nThe following APIs and configuration options are no longer experimental because they're widely used without any known major issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJson\u003c/code\u003e configuration options: \u003ccode\u003edecodeEnumsCaseInsensitive\u003c/code\u003e, \u003ccode\u003eallowTrailingComma\u003c/code\u003e, \u003ccode\u003eallowComments\u003c/code\u003e, and \u003ccode\u003eprettyPrintIndent\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@EncodeDefault\u003c/code\u003e annotation and its modes. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonUnquotedLiteral\u003c/code\u003e constructor function (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJsonPrimitive\u003c/code\u003e constructor function overloads that accept unsigned types. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJSON DSL functions on \u003ccode\u003eJsonElement\u003c/code\u003e with \u003ccode\u003eNothing?\u003c/code\u003e overloads. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3117\"\u003e#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eReadiness for return value checker\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.9.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.9.0...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.room:room-runtime` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-ktx` from 2.6.1 to 2.8.4\n\nUpdates `androidx.room:room-compiler` from 2.6.1 to 2.8.4\n\nUpdates `org.jetbrains.kotlin.android` from 2.0.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.0.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the ...\n\n_Description has been truncated_","html_url":"https://github.com/MarkS0485/CoulombMPPT/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkS0485%2FCoulombMPPT/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"6.7.1","new_version":"9.5.1","update_type":"major","path":null,"pr_created_at":"2026-06-11T08:25:40.000Z","version_change":"6.7.1 → 9.5.1","issue":{"uuid":"4638652437","node_id":"PR_kwDOAKZQpc7lOMbD","number":288,"state":"closed","title":"chore(deps): bump gradle-wrapper from 6.7.1 to 9.5.1","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-12T02:52:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-11T08:25:40.000Z","updated_at":"2026-06-12T02:52:11.000Z","time_to_close":66382,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gradle-wrapper","old_version":"6.7.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 6.7.1 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/v6.7.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/DeployGate/gradle-deploygate-plugin/pull/288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeployGate%2Fgradle-deploygate-plugin/issues/288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/288/packages"}},{"old_version":"8.13","new_version":"9.5.1","update_type":null,"path":"/backend","pr_created_at":"2026-06-10T23:48:40.000Z","version_change":"8.13 → 9.5.1","issue":{"uuid":"4635915525","node_id":"PR_kwDOOauCIs7lFuQB","number":22,"state":"open","title":"chore(deps): bump gradle-wrapper from 8.13 to 9.5.1 in /backend","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-10T23:48:40.000Z","updated_at":"2026-06-10T23:48:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gradle-wrapper","old_version":"8.13","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":"/backend","ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 8.13 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.13.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=8.13\u0026new-version=9.5.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/JinsCodeWork/munich-weekly/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JinsCodeWork%2Fmunich-weekly/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"}},{"old_version":"9.4.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-10T05:08:30.000Z","version_change":"9.4.1 → 9.5.1","issue":{"uuid":"4628204342","node_id":"PR_kwDOSVqbWc7ksZ_x","number":13,"state":"open","title":"Bump the gradle-updates group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-10T05:08:30.000Z","updated_at":"2026-06-10T05:08:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":9,"packages":[{"name":"org.openapi.generator","old_version":"7.18.0","new_version":"7.22.0"},{"name":"io.freefair.lombok","old_version":"9.4.0","new_version":"9.5.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.21.2","new_version":"2.21.4","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"tools.jackson.core:jackson-core","old_version":"3.1.2","new_version":"3.1.4","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.20.6","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.apache.httpcomponents:httpclient","old_version":"4.5.13","new_version":"4.5.14"},{"name":"io.sentry.jvm.gradle","old_version":"6.5.0","new_version":"6.9.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.6.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.openapi.generator | `7.18.0` | `7.22.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `9.4.0` | `9.5.0` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.21.2` | `2.21.4` |\n| [tools.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `3.1.2` | `3.1.4` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.20.6` | `2.0.5` |\n| org.apache.httpcomponents:httpclient | `4.5.13` | `4.5.14` |\n| [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) | `6.5.0` | `6.9.0` |\n| com.diffplug.spotless | `6.25.0` | `8.6.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\n\nUpdates `org.openapi.generator` from 7.18.0 to 7.22.0\n\nUpdates `io.freefair.lombok` from 9.4.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/freefair/gradle-plugins/releases\"\u003eio.freefair.lombok's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.4.0 to 4.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1750\"\u003efreefair/gradle-plugins#1750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.projectlombok:lombok from 1.18.44 to 1.18.46 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1752\"\u003efreefair/gradle-plugins#1752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-core from 3.9.14 to 3.9.15 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1746\"\u003efreefair/gradle-plugins#1746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-model from 3.9.14 to 3.9.15 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1744\"\u003efreefair/gradle-plugins#1744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.freefair.settings.plugin-versions from 9.2.0 to 9.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1749\"\u003efreefair/gradle-plugins#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-plugin-api from 3.9.14 to 3.9.15 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1751\"\u003efreefair/gradle-plugins#1751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.freefair.settings.plugin-versions from 9.2.0 to 9.4.0 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1748\"\u003efreefair/gradle-plugins#1748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Close URLClassLoader in SassCompile to prevent resource leak by \u003ca href=\"https://github.com/Frisch12\"\u003e\u003ccode\u003e@​Frisch12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1725\"\u003efreefair/gradle-plugins#1725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Separate try/catch for license and user fetch in GithubPomPlugin by \u003ca href=\"https://github.com/Frisch12\"\u003e\u003ccode\u003e@​Frisch12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1753\"\u003efreefair/gradle-plugins#1753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot from 4.0.5 to 4.0.6 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1757\"\u003efreefair/gradle-plugins#1757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.graalvm.buildtools.native from 1.0.0 to 1.1.0 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1758\"\u003efreefair/gradle-plugins#1758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-dependencies from 4.0.5 to 4.0.6 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1756\"\u003efreefair/gradle-plugins#1756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(delombok): add sourcepath when module-info.java is present by \u003ca href=\"https://github.com/dtrunk90\"\u003e\u003ccode\u003e@​dtrunk90\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1754\"\u003efreefair/gradle-plugins#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-starter from 4.0.5 to 4.0.6 in /examples by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1755\"\u003efreefair/gradle-plugins#1755\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/dtrunk90\"\u003e\u003ccode\u003e@​dtrunk90\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1754\"\u003efreefair/gradle-plugins#1754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/9.4.0...9.5.0\"\u003ehttps://github.com/freefair/gradle-plugins/compare/9.4.0...9.5.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/freefair/gradle-plugins/commit/f24a7d5017f1398456aa81aa3508b6f6e8e0958f\"\u003e\u003ccode\u003ef24a7d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1755\"\u003e#1755\u003c/a\u003e from freefair/dependabot/gradle/examples/main/org.sp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/278081cc0de663edc73d11dcb2cef5f6ac41e215\"\u003e\u003ccode\u003e278081c\u003c/code\u003e\u003c/a\u003e fix deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/a1cf2466cebe5ddb32cf73d50f14340bdb10df38\"\u003e\u003ccode\u003ea1cf246\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1754\"\u003e#1754\u003c/a\u003e from dtrunk90/fix/delombok-sourcepath-for-modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/91dbece72624107847d2dbd3d20b8288efcb329d\"\u003e\u003ccode\u003e91dbece\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/88570fc873b9ef3894269ca5922aa6c854604321\"\u003e\u003ccode\u003e88570fc\u003c/code\u003e\u003c/a\u003e fix checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/9ad981d2df81d9224fb45648315f7f0407788168\"\u003e\u003ccode\u003e9ad981d\u003c/code\u003e\u003c/a\u003e Bump org.springframework.boot:spring-boot-dependencies in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1756\"\u003e#1756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/7bf9d6e5bca3a1951afecb131fb837424bdc68d1\"\u003e\u003ccode\u003e7bf9d6e\u003c/code\u003e\u003c/a\u003e Bump org.graalvm.buildtools.native from 1.0.0 to 1.1.0 in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1758\"\u003e#1758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/f527dd01048c749bd6234e7dc12a3c278d948bf8\"\u003e\u003ccode\u003ef527dd0\u003c/code\u003e\u003c/a\u003e fix javadoc link config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/27901fffa43c273ebb63d38bca93111af79f5889\"\u003e\u003ccode\u003e27901ff\u003c/code\u003e\u003c/a\u003e Update to Gradle 9.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/8cfe90c133229d6c14e8307a77e2292c5e5087cb\"\u003e\u003ccode\u003e8cfe90c\u003c/code\u003e\u003c/a\u003e Bump org.springframework.boot from 4.0.5 to 4.0.6 in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1757\"\u003e#1757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/9.4.0...9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/f17a4f7a7ffe895be367ce91afc6b06632643126\"\u003e\u003ccode\u003ef17a4f7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/c6411e17ced5463d93fc6577f7bd5a76a43fd1e5\"\u003e\u003ccode\u003ec6411e1\u003c/code\u003e\u003c/a\u003e Prep for 2.21.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/52633da4cc57d73d149af203b145b221af08257f\"\u003e\u003ccode\u003e52633da\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1fa7bb9c536fa64d63e790747a4e8c1d41e77fe0\"\u003e\u003ccode\u003e1fa7bb9\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6dea8a80278a46a26880c3a9964b848da8ce78d8\"\u003e\u003ccode\u003e6dea8a8\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ada244d0a1df6fbd318fd813fff444a2cbcf2398\"\u003e\u003ccode\u003eada244d\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/52f69d357431805db816c1f11e2403143dea49e6\"\u003e\u003ccode\u003e52f69d3\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/899d70ae7ddf5bb42db09bfe3c384b7fe4b68808\"\u003e\u003ccode\u003e899d70a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a006b52ed5de9ac8e94a0074e7e0c09317b5c15d\"\u003e\u003ccode\u003ea006b52\u003c/code\u003e\u003c/a\u003e Prep for 2.18.8 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4c058160d03fcf6b66d9a270e1a1b1451c8108f3\"\u003e\u003ccode\u003e4c05816\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-core` from 3.1.2 to 3.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/222daf285a23b1bb61c672538bd15a5f7443d1b1\"\u003e\u003ccode\u003e222daf2\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-3.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/7854eccf7127a82fe79125268d0e567c61cec5d0\"\u003e\u003ccode\u003e7854ecc\u003c/code\u003e\u003c/a\u003e Prep for 3.1.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/31937c4a525564381890667d24ff2726016679c7\"\u003e\u003ccode\u003e31937c4\u003c/code\u003e\u003c/a\u003e Merge branch '2.x' into 3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/7db5b5073ac10f90ece51a762a86adaea1da8c2a\"\u003e\u003ccode\u003e7db5b50\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4c058160d03fcf6b66d9a270e1a1b1451c8108f3\"\u003e\u003ccode\u003e4c05816\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6cd594cc3322db3dddf6efa29eb267ce77610b34\"\u003e\u003ccode\u003e6cd594c\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/b561668733d0d6eb8924fed11695e4e9cc95eab3\"\u003e\u003ccode\u003eb561668\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/88e394136bcd3a0b3e19770eab55158f43bd8976\"\u003e\u003ccode\u003e88e3941\u003c/code\u003e\u003c/a\u003e Add back JDK 11 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/fa4ee09afcc19a3d1328dbdd231e6eabda68b4dc\"\u003e\u003ccode\u003efa4ee09\u003c/code\u003e\u003c/a\u003e Test refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/797d509fe02aa2747248976db2a461cb77064a15\"\u003e\u003ccode\u003e797d509\u003c/code\u003e\u003c/a\u003e test refactoring\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-3.1.2...jackson-core-3.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.20.6 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e2.0.4\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/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/1.20.6...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.httpcomponents:httpclient` from 4.5.13 to 4.5.14\n\nUpdates `io.sentry.jvm.gradle` from 6.5.0 to 6.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/releases\"\u003eio.sentry.jvm.gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.9.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefer instrumentation log directory creation to execution time and use variant-specific paths to prevent log file corruption during parallel variant transforms (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1236\"\u003e#1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.4.2 to v3.4.3 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1215\"\u003e#1215\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#343\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.2...3.4.3\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.42.0 to v8.43.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1241\"\u003e#1241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8430\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.42.0...8.43.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFail fast with a clear error when Snapshots feature is used with AGP 7.x (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1212\"\u003e#1212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.41.0 to v8.42.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1207\"\u003e#1207\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8420\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.41.0...8.42.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix snapshot upload error by using string values for all sidecar tags (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd global \u003ccode\u003ediffThreshold\u003c/code\u003e option for snapshots (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1186\"\u003e#1186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange auto-install trigger for log4j2 from -api to -core dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.40.0 to v8.41.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1182\"\u003e#1182\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8410\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.40.0...8.41.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.1 to v3.4.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1185\"\u003e#1185\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#342\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.1...3.4.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.6.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/blob/main/CHANGELOG.md\"\u003eio.sentry.jvm.gradle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.9.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefer instrumentation log directory creation to execution time and use variant-specific paths to prevent log file corruption during parallel variant transforms (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1236\"\u003e#1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.4.2 to v3.4.3 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1215\"\u003e#1215\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#343\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.2...3.4.3\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.42.0 to v8.43.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1241\"\u003e#1241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8430\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.42.0...8.43.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFail fast with a clear error when Snapshots feature is used with AGP 7.x (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1212\"\u003e#1212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.8.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.41.0 to v8.42.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1207\"\u003e#1207\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8420\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.41.0...8.42.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix snapshot upload error by using string values for all sidecar tags (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.7.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd global \u003ccode\u003ediffThreshold\u003c/code\u003e option for snapshots (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1186\"\u003e#1186\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange auto-install trigger for log4j2 from -api to -core dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.40.0 to v8.41.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1182\"\u003e#1182\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8410\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.40.0...8.41.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/496a6c8e926a14bdf5ae23ef608a788213ef16de\"\u003e\u003ccode\u003e496a6c8\u003c/code\u003e\u003c/a\u003e release: 6.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/f1502009b6c69e7b1a1f0c0215747800b927c61e\"\u003e\u003ccode\u003ef150200\u003c/code\u003e\u003c/a\u003e fix(plugin): Make instrumentation log dir variant-specific (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1236\"\u003e#1236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/b1a92d84d728a8d3599d551f808b22ed8eeb913b\"\u003e\u003ccode\u003eb1a92d8\u003c/code\u003e\u003c/a\u003e ref(gradle): Replace File with DirectoryProperty in SentryCliProvider (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1231\"\u003e#1231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/c636f24c4f69f896e0dfba0ef8784f1d1c1ddc5f\"\u003e\u003ccode\u003ec636f24\u003c/code\u003e\u003c/a\u003e Enable configuration caching (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/928\"\u003e#928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/536746a76af4c6712c608b23cc91f8e3464a6a5c\"\u003e\u003ccode\u003e536746a\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-android.sh to 8.43.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1241\"\u003e#1241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/0fc7a3855b9be2a94ad9058b14b7cc103b9cc907\"\u003e\u003ccode\u003e0fc7a38\u003c/code\u003e\u003c/a\u003e chore(ci): Update gradle/actions to v6 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1239\"\u003e#1239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/830eb859c4bf4db1c68d10e3a14af8df13e11927\"\u003e\u003ccode\u003e830eb85\u003c/code\u003e\u003c/a\u003e feat(gradle): Apply Common Custom User Data plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1238\"\u003e#1238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/5c6e44dc2a71303056a03d8429a03713cd148ed6\"\u003e\u003ccode\u003e5c6e44d\u003c/code\u003e\u003c/a\u003e feat(gradle): Apply Develocity Build Scan plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1237\"\u003e#1237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/63af5f9adcc94a9ab4c3aac0fade2ecb1e59dc2e\"\u003e\u003ccode\u003e63af5f9\u003c/code\u003e\u003c/a\u003e ref(gradle): Replace project.buildDir with layout.buildDirectory in SentryTel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/7504ec2bb332cdc36956d17832ad4084ffbc6eb8\"\u003e\u003ccode\u003e7504ec2\u003c/code\u003e\u003c/a\u003e fix(ci): Use JVM 17 for test tasks (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1232\"\u003e#1232\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/compare/6.5.0...6.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 6.25.0 to 8.6.0\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/laa-data-claims-certificated-api/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-data-claims-certificated-api/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"8.14.3","new_version":"9.5.1","update_type":"major","path":"/android","pr_created_at":"2026-06-09T17:33:27.000Z","version_change":"8.14.3 → 9.5.1","issue":{"uuid":"4624183396","node_id":"PR_kwDOR_8iys7kfO3d","number":8,"state":"closed","title":"chore(deps/android): bump gradle-wrapper from 8.14.3 to 9.5.1 in /android","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-09T19:22:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T17:33:27.000Z","updated_at":"2026-06-09T19:22:43.000Z","time_to_close":6554,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps/android)","packages":[{"name":"gradle-wrapper","old_version":"8.14.3","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":"/android","ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 8.14.3 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.3...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=8.14.3\u0026new-version=9.5.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/StellaSecret/AsthmeTrack/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/StellaSecret%2FAsthmeTrack/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"9.5.0","new_version":"9.5.1","update_type":"patch","path":null,"pr_created_at":"2026-06-09T07:57:19.000Z","version_change":"9.5.0 → 9.5.1","issue":{"uuid":"4620055477","node_id":"PR_kwDOPqJ4i87kRkU8","number":151,"state":"closed","title":"build(deps): bump the gradle group with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T21:07:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T07:57:19.000Z","updated_at":"2026-06-12T21:08:01.000Z","time_to_close":306640,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":28,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.github.resilience4j:resilience4j-bom","old_version":"2.2.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"software.amazon.awssdk:s3","old_version":"2.25.36","new_version":"2.46.6"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.41","new_version":"2.2.50"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.projectlombok:lombok","old_version":"1.18.40","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"cn.hutool:hutool-core","old_version":"5.8.25","new_version":"5.8.46"},{"name":"cn.hutool:hutool-crypto","old_version":"5.8.25","new_version":"5.8.46","repository_url":"https://github.com/chinabugotech/hutool"},{"name":"com.google.guava:guava","old_version":"31.1-jre","new_version":"33.6.0-jre","repository_url":"https://github.com/google/guava"},{"name":"commons-net:commons-net","old_version":"3.11.1","new_version":"3.13.0","repository_url":"https://github.com/apache/commons-net"},{"name":"com.ibm.icu:icu4j","old_version":"76.1","new_version":"78.3","repository_url":"https://github.com/unicode-org/icu"},{"name":"org.jsoup:jsoup","old_version":"1.18.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.apache.rocketmq:rocketmq-spring-boot-starter","old_version":"2.3.1","new_version":"2.3.6","repository_url":"https://github.com/apache/rocketmq-spring"},{"name":"com.xuxueli:xxl-job-core","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/xuxueli/xxl-job"},{"name":"io.minio:minio","old_version":"8.5.7","new_version":"9.0.1","repository_url":"https://github.com/minio/minio-java"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.1.0","new_version":"4.5.0"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.11.4","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-core","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.awaitility:awaitility","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/awaitility/awaitility"},{"name":"org.objenesis:objenesis","old_version":"3.4","new_version":"3.5","repository_url":"https://github.com/easymock/objenesis"},{"name":"org.wiremock:wiremock-standalone","old_version":"3.10.0","new_version":"3.13.2","repository_url":"https://github.com/wiremock/wiremock"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.6.0"},{"name":"com.github.spotbugs","old_version":"6.4.8","new_version":"6.5.5"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 28 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [io.github.resilience4j:resilience4j-bom](https://github.com/resilience4j/resilience4j) | `2.2.0` | `2.4.0` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| software.amazon.awssdk:s3 | `2.25.36` | `2.46.6` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.41` | `2.2.50` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.40` | `1.18.46` |\n| cn.hutool:hutool-core | `5.8.25` | `5.8.46` |\n| [cn.hutool:hutool-crypto](https://github.com/chinabugotech/hutool) | `5.8.25` | `5.8.46` |\n| [com.google.guava:guava](https://github.com/google/guava) | `31.1-jre` | `33.6.0-jre` |\n| [commons-net:commons-net](https://github.com/apache/commons-net) | `3.11.1` | `3.13.0` |\n| [com.ibm.icu:icu4j](https://github.com/unicode-org/icu) | `76.1` | `78.3` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.3` | `1.22.2` |\n| [org.apache.rocketmq:rocketmq-spring-boot-starter](https://github.com/apache/rocketmq-spring) | `2.3.1` | `2.3.6` |\n| [com.xuxueli:xxl-job-core](https://github.com/xuxueli/xxl-job) | `3.2.0` | `3.4.0` |\n| [io.minio:minio](https://github.com/minio/minio-java) | `8.5.7` | `9.0.1` |\n| org.redisson:redisson-spring-boot-starter | `4.1.0` | `4.5.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.11.4` | `6.1.0` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| [org.awaitility:awaitility](https://github.com/awaitility/awaitility) | `4.2.2` | `4.3.0` |\n| [org.objenesis:objenesis](https://github.com/easymock/objenesis) | `3.4` | `3.5` |\n| [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) | `3.10.0` | `3.13.2` |\n| com.diffplug.spotless | `7.0.4` | `8.6.0` |\n| com.github.spotbugs | `6.4.8` | `6.5.5` |\n\nUpdates `gradle-wrapper` from 9.5.0 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\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/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/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.resilience4j:resilience4j-bom` from 2.2.0 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resilience4j/resilience4j/releases\"\u003eio.github.resilience4j:resilience4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support of initializing circuitBreaker in desired state from config by \u003ca href=\"https://github.com/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2269\"\u003e#2269\u003c/a\u003e: Added getCausingRateLimiterName by \u003ca href=\"https://github.com/noomkram\"\u003e\u003ccode\u003e@​noomkram\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2270\"\u003eresilience4j/resilience4j#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTime limiter registry builder by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2291\"\u003eresilience4j/resilience4j#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue resilience4j#2285: Add HealthContributorAutoConfiguration to ConditionalOnClass by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2286\"\u003eresilience4j/resilience4j#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2278\"\u003e#2278\u003c/a\u003e: Added ThreadPoolBulkhead to some Decorators by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2284\"\u003eresilience4j/resilience4j#2284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect registry config in aspect by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2282\"\u003eresilience4j/resilience4j#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2285\"\u003e#2285\u003c/a\u003e - add configuration to move circuit breaker from half open to closed state by \u003ca href=\"https://github.com/victorpasqualino\"\u003e\u003ccode\u003e@​victorpasqualino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2290\"\u003eresilience4j/resilience4j#2290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.0.2 to 4.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2252\"\u003eresilience4j/resilience4j#2252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove dependency on kotlin-stdlib-jdk8 from resilience4j-core by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2301\"\u003eresilience4j/resilience4j#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBring back 'slidingWindow' with default synchronization strategy by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2302\"\u003eresilience4j/resilience4j#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd withFallback() methods to DecorateFunction by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2312\"\u003eresilience4j/resilience4j#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2295\"\u003e#2295\u003c/a\u003e: Ensure ignoreExceptions take precedence over recordExceptions by \u003ca href=\"https://github.com/kssumin\"\u003e\u003ccode\u003e@​kssumin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2304\"\u003eresilience4j/resilience4j#2304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix spring boot3 customizer application order by \u003ca href=\"https://github.com/alexey-grigorovich-savvymoney\"\u003e\u003ccode\u003e@​alexey-grigorovich-savvymoney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2321\"\u003eresilience4j/resilience4j#2321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(1910): update grafana dashboard by \u003ca href=\"https://github.com/JoranVanBelle\"\u003e\u003ccode\u003e@​JoranVanBelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2318\"\u003eresilience4j/resilience4j#2318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide key for components using SpEL for names by \u003ca href=\"https://github.com/doumdoum\"\u003e\u003ccode\u003e@​doumdoum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2329\"\u003eresilience4j/resilience4j#2329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2224\"\u003e#2224\u003c/a\u003e : Bump jdk from 17 to 21 for support virtual thread by \u003ca href=\"https://github.com/ykhfree\"\u003e\u003ccode\u003e@​ykhfree\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2331\"\u003eresilience4j/resilience4j#2331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing eventConsumerBufferSize merge for Retry config by \u003ca href=\"https://github.com/skowrxn\"\u003e\u003ccode\u003e@​skowrxn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2344\"\u003eresilience4j/resilience4j#2344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2334\"\u003eGH-2334\u003c/a\u003e fix: reject TIME_BASED + LOCK_FREE when slidingWindowSize \u0026lt; 2 by \u003ca href=\"https://github.com/bandalgomsu\"\u003e\u003ccode\u003e@​bandalgomsu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2358\"\u003eresilience4j/resilience4j#2358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add setter for bulkheadAspectOrder property by \u003ca href=\"https://github.com/NiMv1\"\u003e\u003ccode\u003e@​NiMv1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2386\"\u003eresilience4j/resilience4j#2386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Clarify Aspect Order defaults for Spring Boot 3 to prevent metric inflation by \u003ca href=\"https://github.com/GarimaBokdia\"\u003e\u003ccode\u003e@​GarimaBokdia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2387\"\u003eresilience4j/resilience4j#2387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Spring Boot 4 / Spring Cloud 5 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2384\"\u003eresilience4j/resilience4j#2384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTimeLimiter, take success path when completing without error by \u003ca href=\"https://github.com/TheFrogAndy\"\u003e\u003ccode\u003e@​TheFrogAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2374\"\u003eresilience4j/resilience4j#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd back OSGi meta data with bnd builder plugin by \u003ca href=\"https://github.com/chrisrueger\"\u003e\u003ccode\u003e@​chrisrueger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2385\"\u003eresilience4j/resilience4j#2385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/536\"\u003e#536\u003c/a\u003e: Added best practices documentation for instance management by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2389\"\u003eresilience4j/resilience4j#2389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to mock nanoTime in RateLimiter by \u003ca href=\"https://github.com/strokyl\"\u003e\u003ccode\u003e@​strokyl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2356\"\u003eresilience4j/resilience4j#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2397\"\u003e#2397\u003c/a\u003e: compile SPEL regex'es only once by \u003ca href=\"https://github.com/stokpop\"\u003e\u003ccode\u003e@​stokpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2398\"\u003eresilience4j/resilience4j#2398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate publishing to use new Sonatype urls and add release workflow by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2393\"\u003eresilience4j/resilience4j#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1450\"\u003e#1450\u003c/a\u003e: Fixed Grafana dashboard metric query for call rate panel by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2391\"\u003eresilience4j/resilience4j#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1448\"\u003e#1448\u003c/a\u003e: Fixed Duration property binding in Spring Boot 2 by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2390\"\u003eresilience4j/resilience4j#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2327\"\u003e#2327\u003c/a\u003e: Correct \u003ca href=\"https://github.com/see\"\u003e\u003ccode\u003e@​see\u003c/code\u003e\u003c/a\u003e tag usage in CircuitBreakerConfig Javadoc by \u003ca href=\"https://github.com/chanani\"\u003e\u003ccode\u003e@​chanani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2400\"\u003eresilience4j/resilience4j#2400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2368\"\u003e#2368\u003c/a\u003e: Fix Retry retryOnResult interrupt handling: throw CancellationException instead of NPE by \u003ca href=\"https://github.com/platanus-kr\"\u003e\u003ccode\u003e@​platanus-kr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2392\"\u003eresilience4j/resilience4j#2392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in Spring aspect docs by \u003ca href=\"https://github.com/gukin-han\"\u003e\u003ccode\u003e@​gukin-han\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2399\"\u003eresilience4j/resilience4j#2399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2354\"\u003eGH-2354\u003c/a\u003e Remove kotlin-stdlib from resilience4j-core by \u003ca href=\"https://github.com/josalmi\"\u003e\u003ccode\u003e@​josalmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2359\"\u003eresilience4j/resilience4j#2359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded CheckedSupplierUtils and deprecated CheckedFunctionUtils by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2313\"\u003eresilience4j/resilience4j#2313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse correct constant for initializing CircuitBreakerConfig.Builder.waitIntervalFunctionInOpenState by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2402\"\u003eresilience4j/resilience4j#2402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded bulkhead name to BulkheadFullException by \u003ca href=\"https://github.com/dominic-miglar\"\u003e\u003ccode\u003e@​dominic-miglar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2349\"\u003eresilience4j/resilience4j#2349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unrelated flaky Clock test from CircuitBreakerEventTest by \u003ca href=\"https://github.com/KimDoubleB\"\u003e\u003ccode\u003e@​KimDoubleB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2409\"\u003eresilience4j/resilience4j#2409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded decorateFunction and executeFunction to TimeLimiter by \u003ca href=\"https://github.com/zbnerd\"\u003e\u003ccode\u003e@​zbnerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2407\"\u003eresilience4j/resilience4j#2407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3/4 by \u003ca href=\"https://github.com/seokjun7410\"\u003e\u003ccode\u003e@​seokjun7410\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2406\"\u003eresilience4j/resilience4j#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove log spam from tests by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2412\"\u003eresilience4j/resilience4j#2412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet JDK target back to 17 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2415\"\u003eresilience4j/resilience4j#2415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix release workflow: unquoted multi-line GPG key breaks Gradle invocation by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2416\"\u003eresilience4j/resilience4j#2416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead env variables from gradle for gpg key by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2417\"\u003eresilience4j/resilience4j#2417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable SNAPSHOT artifact signing from master by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2418\"\u003eresilience4j/resilience4j#2418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove sign skip on snapshot version by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2419\"\u003eresilience4j/resilience4j#2419\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/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\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/resilience4j/resilience4j/blob/master/RELEASENOTES.adoc\"\u003eio.github.resilience4j:resilience4j-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e= Release Notes\u003c/p\u003e\n\u003cp\u003e== Version 0.1.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial version\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the functionality to add exceptions with are ignored by the CircuitBreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to get Metrics for function executions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a static factory method for the CircuitBreakerConfig builder\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to retry a failed function\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded builders to simplify chaining of decorators\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.6\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed project to javaslang-circuitbreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2\"\u003e#2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/3\"\u003e#3\u003c/a\u003e Added a listener mechanism for state transitions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.2.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Dropwizard Metrics, because its a too heavy dependency for such a lightweight library.\u003c/li\u003e\n\u003cli\u003eChanged the way exceptions can be handled. You have to provide a Predicate now instead of a list of exceptions to ignore.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.3.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe CircuitBreaker is based on a Ring Bit Buffer and a failure rate now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the visibility of CircuitBreakerUtils.isCallPermitted to public.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreakerRegistry has a new method which takes a Supplier of a CircuitBreakerConfig so that the CircuitBreakerConfig is only created when needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreaker has a new method \u003ccode\u003e+getCircuitBreakerConfig+\u003c/code\u003e which allows to retrieve the CircuitBreakerConfig of the CircuitBreaker.\u003c/li\u003e\n\u003cli\u003eRenamed the state HALF_CLOSED to HALF_OPEN to match the pattern description of Martin Fowler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a Metrics interface to the CircuitBreaker which allows to retrieve current statistics like failureRate and number of buffer calls.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.4.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated javaslang from 2.0.0-RC4 to 2.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/f1c3be8e79d09c70d457b2f89c3f89d03f1b5720\"\u003e\u003ccode\u003ef1c3be8\u003c/code\u003e\u003c/a\u003e Fix signing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/88a8293640244c2a3e3eac7767dabac99a67f2fc\"\u003e\u003ccode\u003e88a8293\u003c/code\u003e\u003c/a\u003e Enable signing for resilience4j-bom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/1ed88c202a93651a063b0f6e78055972c3da66b8\"\u003e\u003ccode\u003e1ed88c2\u003c/code\u003e\u003c/a\u003e Remove sign skip on snapshot version (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2419\"\u003e#2419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ed637ecade5ef07b7601c44033aa51a62884e9d0\"\u003e\u003ccode\u003eed637ec\u003c/code\u003e\u003c/a\u003e Enable SNAPSHOT artifact signing from master (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2418\"\u003e#2418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/d51bce10f37734ec9f13fe69e73edab28e2dd053\"\u003e\u003ccode\u003ed51bce1\u003c/code\u003e\u003c/a\u003e Read env variables from gradle for gpg key (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2417\"\u003e#2417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/89baea75656027cdce4d69e521e0ea9f99d2ac0d\"\u003e\u003ccode\u003e89baea7\u003c/code\u003e\u003c/a\u003e Fix release workflow: unquoted multi-line GPG key breaks Gradle invocation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/b888e8249e746bcb9b005f3a67326ad6d2dab55c\"\u003e\u003ccode\u003eb888e82\u003c/code\u003e\u003c/a\u003e Add GPG key and passphrase to build step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/e9aedeeeccd0672fac64ecd3ee1712e4bda322a4\"\u003e\u003ccode\u003ee9aedee\u003c/code\u003e\u003c/a\u003e Revert JDK target back to 17 (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2415\"\u003e#2415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ad4efb8a3346e289e7913ef30422d5b984151ad1\"\u003e\u003ccode\u003ead4efb8\u003c/code\u003e\u003c/a\u003e Remove log spam from tests (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2412\"\u003e#2412\u003c/a\u003e)4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/cd8f8e066f043d12267732d89a2a08aaa4b8d281\"\u003e\u003ccode\u003ecd8f8e0\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resilience4j/resilience4j/compare/v2.2.0...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.21.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e2.0.4\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/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/1.21.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:s3` from 2.25.36 to 2.46.6\n\nUpdates `io.swagger.core.v3:swagger-annotations-jakarta` from 2.2.41 to 2.2.50\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-scalar` from 3.0.1 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-scalar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\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/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\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/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-scalar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.1...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\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/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\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/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.1...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\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/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\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/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webflux-scalar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/linqibin0826/patra/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/linqibin0826%2Fpatra/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"}},{"old_version":"8.11.1","new_version":"8.14.5","update_type":"minor","path":null,"pr_created_at":"2026-06-09T06:34:18.000Z","version_change":"8.11.1 → 8.14.5","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.4.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T16:51:18.000Z","version_change":"9.4.1 → 9.5.1","issue":{"uuid":"4614839602","node_id":"PR_kwDOSvHp_87kANA5","number":11,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T16:46:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T16:51:18.000Z","updated_at":"2026-06-11T16:46:12.000Z","time_to_close":258892,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":12,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"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-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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.test","old_version":"9.2.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 12 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.01` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\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-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.test | `9.2.0` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `dnsjava:dnsjava` from 3.6.4 to 3.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/releases\"\u003ednsjava:dnsjava's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.6.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egetXxxAsByteArray()\u003c/code\u003e getters and overload with escape boolean (\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: The tag for this release is \u003ccode\u003ev3.6.5-1\u003c/code\u003e, because the v3.6.5 tag accidentally pointed to a local branch and cannot be changed anymore because of the immutable releases. The Maven artifacts from the \u003ca href=\"https://github.com/dnsjava/dnsjava/actions/runs/26331191483\"\u003eActions run\u003c/a\u003e are correct.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\"\u003ehttps://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/blob/master/Changelog\"\u003ednsjava:dnsjava's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e05/23/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.5 released\u003c/li\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd getXxxAsByteArray() getters and overload with escape boolean\n(\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/18/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.4 released\u003c/li\u003e\n\u003cli\u003eFix Zone-class serialization (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid Double DNS Lookup for Names with Labels \u0026gt;= ndots (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent NPE when calling Message#getTSIG() on DNS request with\nbad header (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnwrap an exception in the legacy callback-based async interface (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent ConcurrentModificationException in NIO clients\n(\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/379\"\u003e#379\u003c/a\u003e, \u003ca href=\"https://github.com/bhaveshthakker\"\u003e\u003ccode\u003e@​bhaveshthakker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003enull\u003c/code\u003e in all setSearchPath overloads equally (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce warning level of invalid \u003ccode\u003ehosts\u003c/code\u003e file entries (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a lock on the hot-path in the \u003ccode\u003ehosts\u003c/code\u003e file parser (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDoH Resolver makes use of the Multi-Release jar and tests are executed\nfor Java 8 and 11+ implementations (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH Resolver initial request delay (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/26/2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.3 released\u003c/li\u003e\n\u003cli\u003eSupport custom hosts file size (\u003ca href=\"https://github.com/flaming-archer\"\u003e\u003ccode\u003e@​flaming-archer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix origin handling in zone loaded from file or stream (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent TCP port leak when closing IO (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix confusing parameter name in CNAMERecord (\u003ca href=\"https://github.com/chkal\"\u003e\u003ccode\u003e@​chkal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptionally disable ShutdownHook in NioClient (\u003ca href=\"https://github.com/SvenssonWeb\"\u003e\u003ccode\u003e@​SvenssonWeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTSIG algorithm names from RFC 8945\u003c/li\u003e\n\u003cli\u003eMessage.toWire can exceed MAXLENGTH (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTCP query might fail if the shared buffer is full (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDynamic updates silently truncates records (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH initial request using recommended nanoTime calculation\n(\u003ca href=\"https://github.com/LinZong\"\u003e\u003ccode\u003e@​LinZong\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/345\"\u003e#345\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/21/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.2 released\u003c/li\u003e\n\u003cli\u003eAdd new IANA Trust Anchor (\u003ca href=\"https://github.com/technolord\"\u003e\u003ccode\u003e@​technolord\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Zone handling with signed SOA (\u003ca href=\"https://github.com/frankarinnet\"\u003e\u003ccode\u003e@​frankarinnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/28/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.1 released\u003c/li\u003e\n\u003cli\u003eProperly fix LookupSession doesn't cache CNAMEs (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove JEP-418 SPI to Java 18 to support EOL workflows (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/21/2024\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/dnsjava/dnsjava/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\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.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\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/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\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.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/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/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\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.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/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/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/kevin272/openclaww/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin272%2Fopenclaww/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"9.3.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T16:49:27.000Z","version_change":"9.3.1 → 9.5.1","issue":{"uuid":"4614825620","node_id":"PR_kwDOR-z3gc7kAKD0","number":25,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T16:45:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T16:49:27.000Z","updated_at":"2026-06-11T16:45:34.000Z","time_to_close":258965,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.1.0","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.1.0` | `9.2.1` |\n| com.android.test | `9.1.0` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.1.0 to 9.2.1\n\nUpdates `com.android.test` from 9.1.0 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/bulidWorld/my-openclaw/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bulidWorld%2Fmy-openclaw/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"}},{"old_version":"8.9","new_version":"9.5.1","update_type":null,"path":null,"pr_created_at":"2026-06-08T15:14:21.000Z","version_change":"8.9 → 9.5.1","issue":{"uuid":"4614103206","node_id":"PR_kwDOMjtDJ87j9vai","number":144,"state":"closed","title":"build(deps): bump gradle-wrapper from 8.9 to 9.5.1","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-10T23:34:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T15:14:21.000Z","updated_at":"2026-06-10T23:35:00.000Z","time_to_close":202829,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"gradle-wrapper","old_version":"8.9","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 8.9 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.9.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gradle-wrapper\u0026package-manager=gradle\u0026previous-version=8.9\u0026new-version=9.5.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/themartdev/intellij-gleam/pull/144","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/themartdev%2Fintellij-gleam/issues/144","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/144/packages"}},{"old_version":"9.2.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T15:10:29.000Z","version_change":"9.2.1 → 9.5.1","issue":{"uuid":"4614072327","node_id":"PR_kwDORn6Odc7j9owj","number":43,"state":"open","title":"chore(deps): bump the android-deps group across 1 directory with 24 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-06-08T15:10:29.000Z","updated_at":"2026-06-08T15:13:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/stvceto2171-blip/dasubot/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stvceto2171-blip%2Fdasubot/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"}},{"old_version":"9.3.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T09:44:13.000Z","version_change":"9.3.1 → 9.5.1","issue":{"uuid":"4611747831","node_id":"PR_kwDOR_Nprc7j18A6","number":26,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T09:25:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T09:44:13.000Z","updated_at":"2026-06-11T09:25:29.000Z","time_to_close":258074,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.1.0","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.1.0` | `9.2.1` |\n| com.android.test | `9.1.0` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.1.0 to 9.2.1\n\nUpdates `com.android.test` from 9.1.0 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/wv26296-ux/nora/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wv26296-ux%2Fnora/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"9.2.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T06:13:27.000Z","version_change":"9.2.1 → 9.5.1","issue":{"uuid":"4610455825","node_id":"PR_kwDORl_kGs7jxryk","number":49,"state":"closed","title":"chore(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T06:08:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T06:13:27.000Z","updated_at":"2026-06-11T06:08:48.000Z","time_to_close":258919,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/LaurenBerrys/ClawMark/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaurenBerrys%2FClawMark/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}},{"old_version":"9.4.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T04:18:43.000Z","version_change":"9.4.1 → 9.5.1","issue":{"uuid":"4609981652","node_id":"PR_kwDOSMfcws7jwJdW","number":11,"state":"open","title":"chore(deps): Bump the production-dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T04:18:43.000Z","updated_at":"2026-06-08T04:18:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"production-dependencies","update_count":5,"packages":[{"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"},{"name":"jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the production-dependencies group with 4 updates in the / directory: [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines), [jvm](https://github.com/JetBrains/kotlin), [plugin.serialization](https://github.com/JetBrains/kotlin) and [gradle-wrapper](https://github.com/gradle/gradle).\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\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\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 arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jvm` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003ejvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003ejvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency...\n\n_Description has been truncated_","html_url":"https://github.com/FloopFloopAI/floop-kotlin-sdk/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FloopFloopAI%2Ffloop-kotlin-sdk/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"9.4.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T01:59:22.000Z","version_change":"9.4.1 → 9.5.1","issue":{"uuid":"4609493733","node_id":"PR_kwDOSQIFhs7julHg","number":23,"state":"closed","title":"Bump the android-deps group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T01:55:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:59:22.000Z","updated_at":"2026-06-11T01:55:01.000Z","time_to_close":258938,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"android-deps","update_count":12,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.compose:compose-bom","old_version":"2026.04.01","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"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-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"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.test","old_version":"9.2.0","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 12 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| androidx.compose:compose-bom | `2026.04.01` | `2026.05.01` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\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-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| com.android.application | `9.2.0` | `9.2.1` |\n| com.android.test | `9.2.0` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 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/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.04.01 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `dnsjava:dnsjava` from 3.6.4 to 3.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/releases\"\u003ednsjava:dnsjava's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.6.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egetXxxAsByteArray()\u003c/code\u003e getters and overload with escape boolean (\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: The tag for this release is \u003ccode\u003ev3.6.5-1\u003c/code\u003e, because the v3.6.5 tag accidentally pointed to a local branch and cannot be changed anymore because of the immutable releases. The Maven artifacts from the \u003ca href=\"https://github.com/dnsjava/dnsjava/actions/runs/26331191483\"\u003eActions run\u003c/a\u003e are correct.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\"\u003ehttps://github.com/dnsjava/dnsjava/compare/v3.6.4...v3.6.5-1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dnsjava/dnsjava/blob/master/Changelog\"\u003ednsjava:dnsjava's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e05/23/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.5 released\u003c/li\u003e\n\u003cli\u003eHandle canceled keys in UDP client (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle interrupts on NIO selector thread (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/396\"\u003e#396\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix config option key names in README (\u003ca href=\"https://github.com/lostnet\"\u003e\u003ccode\u003e@​lostnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/399\"\u003e#399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid/uninitialized file times in hosts file (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/400\"\u003e#400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd getXxxAsByteArray() getters and overload with escape boolean\n(\u003ca href=\"https://github.com/MMauro94\"\u003e\u003ccode\u003e@​MMauro94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/404\"\u003e#404\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/18/2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.4 released\u003c/li\u003e\n\u003cli\u003eFix Zone-class serialization (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid Double DNS Lookup for Names with Labels \u0026gt;= ndots (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent NPE when calling Message#getTSIG() on DNS request with\nbad header (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnwrap an exception in the legacy callback-based async interface (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent ConcurrentModificationException in NIO clients\n(\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/379\"\u003e#379\u003c/a\u003e, \u003ca href=\"https://github.com/bhaveshthakker\"\u003e\u003ccode\u003e@​bhaveshthakker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003enull\u003c/code\u003e in all setSearchPath overloads equally (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce warning level of invalid \u003ccode\u003ehosts\u003c/code\u003e file entries (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a lock on the hot-path in the \u003ccode\u003ehosts\u003c/code\u003e file parser (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDoH Resolver makes use of the Multi-Release jar and tests are executed\nfor Java 8 and 11+ implementations (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH Resolver initial request delay (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e01/26/2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.3 released\u003c/li\u003e\n\u003cli\u003eSupport custom hosts file size (\u003ca href=\"https://github.com/flaming-archer\"\u003e\u003ccode\u003e@​flaming-archer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix origin handling in zone loaded from file or stream (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent TCP port leak when closing IO (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix confusing parameter name in CNAMERecord (\u003ca href=\"https://github.com/chkal\"\u003e\u003ccode\u003e@​chkal\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptionally disable ShutdownHook in NioClient (\u003ca href=\"https://github.com/SvenssonWeb\"\u003e\u003ccode\u003e@​SvenssonWeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTSIG algorithm names from RFC 8945\u003c/li\u003e\n\u003cli\u003eMessage.toWire can exceed MAXLENGTH (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTCP query might fail if the shared buffer is full (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDynamic updates silently truncates records (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DoH initial request using recommended nanoTime calculation\n(\u003ca href=\"https://github.com/LinZong\"\u003e\u003ccode\u003e@​LinZong\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/345\"\u003e#345\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e09/21/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.2 released\u003c/li\u003e\n\u003cli\u003eAdd new IANA Trust Anchor (\u003ca href=\"https://github.com/technolord\"\u003e\u003ccode\u003e@​technolord\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Zone handling with signed SOA (\u003ca href=\"https://github.com/frankarinnet\"\u003e\u003ccode\u003e@​frankarinnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/28/2024\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e3.6.1 released\u003c/li\u003e\n\u003cli\u003eProperly fix LookupSession doesn't cache CNAMEs (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove JEP-418 SPI to Java 18 to support EOL workflows (\u003ca href=\"https://redirect.github.com/dnsjava/dnsjava/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e07/21/2024\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/dnsjava/dnsjava/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\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.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\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/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\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.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/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/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\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.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/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/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/gavip2k/Openclaw-github/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavip2k%2FOpenclaw-github/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"9.4.0","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T01:58:01.000Z","version_change":"9.4.0 → 9.5.1","issue":{"uuid":"4609489809","node_id":"PR_kwDORok5eM7jukXF","number":43,"state":"closed","title":"build(deps): Bump the android-deps 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-11T01:54:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:58:01.000Z","updated_at":"2026-06-11T01:54:39.000Z","time_to_close":258996,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"android-deps","update_count":21,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.03.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.18.0","new_version":"1.19.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.7","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 15 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.03.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.18.0` | `1.19.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.7` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.03.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.18.0 to 1.19.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure th...\n\n_Description has been truncated_","html_url":"https://github.com/zhuxiaoke27/DrewClaw/pull/43","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhuxiaoke27%2FDrewClaw/issues/43","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/43/packages"}},{"old_version":"9.2.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T01:28:12.000Z","version_change":"9.2.1 → 9.5.1","issue":{"uuid":"4609397771","node_id":"PR_kwDORf3i-s7juR8f","number":31,"state":"closed","title":"chore(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T01:24:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:28:12.000Z","updated_at":"2026-06-11T01:24:36.000Z","time_to_close":258982,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/daojiagroup/openclaw/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/daojiagroup%2Fopenclaw/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}},{"old_version":"9.2.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T01:18:48.000Z","version_change":"9.2.1 → 9.5.1","issue":{"uuid":"4609371499","node_id":"PR_kwDORn7IsM7juMsw","number":36,"state":"closed","title":"Bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T01:14:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T01:18:48.000Z","updated_at":"2026-06-11T01:14:51.000Z","time_to_close":258961,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.0.1","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.0.1","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.0.1` | `9.2.1` |\n| com.android.test | `9.0.1` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.0.1 to 9.2.1\n\nUpdates `com.android.test` from 9.0.1 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/Alexanderkuerti/jarvis-workspace/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexanderkuerti%2Fjarvis-workspace/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"}},{"old_version":"9.3.1","new_version":"9.5.1","update_type":"minor","path":null,"pr_created_at":"2026-06-08T00:59:14.000Z","version_change":"9.3.1 → 9.5.1","issue":{"uuid":"4609312165","node_id":"PR_kwDOSA4LW87juBEz","number":31,"state":"closed","title":"build(deps): bump the android-deps group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-11T00:54:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T00:59:14.000Z","updated_at":"2026-06-11T00:54:57.000Z","time_to_close":258942,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"android-deps","update_count":24,"packages":[{"name":"com.android.application","old_version":"9.1.0","new_version":"9.2.1"},{"name":"com.android.test","old_version":"9.1.0","new_version":"9.2.1"},{"name":"org.jlleitschuh.gradle.ktlint","old_version":"14.0.1","new_version":"14.2.0"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.compose:compose-bom","old_version":"2026.02.00","new_version":"2026.05.01"},{"name":"androidx.core:core-ktx","old_version":"1.17.0","new_version":"1.19.0"},{"name":"androidx.activity:activity-compose","old_version":"1.12.2","new_version":"1.13.0"},{"name":"com.google.android.material:material","old_version":"1.13.0","new_version":"1.14.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"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-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.commonmark:commonmark","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"dnsjava:dnsjava","old_version":"3.6.4","new_version":"3.6.5","repository_url":"https://github.com/dnsjava/dnsjava"},{"name":"io.kotest:kotest-runner-junit5-jvm","old_version":"6.1.3","new_version":"6.1.11","repository_url":"https://github.com/kotest/kotest"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.2","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the android-deps group with 18 updates in the /apps/android directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.android.application | `9.1.0` | `9.2.1` |\n| com.android.test | `9.1.0` | `9.2.1` |\n| org.jlleitschuh.gradle.ktlint | `14.0.1` | `14.2.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| androidx.compose:compose-bom | `2026.02.00` | `2026.05.01` |\n| androidx.core:core-ktx | `1.17.0` | `1.19.0` |\n| androidx.activity:activity-compose | `1.12.2` | `1.13.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0` | `1.14.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-android](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.10.0` | `1.11.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.27.1` | `0.28.0` |\n| [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) | `3.6.4` | `3.6.5` |\n| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest) | `6.1.3` | `6.1.11` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.0` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `com.android.application` from 9.1.0 to 9.2.1\n\nUpdates `com.android.test` from 9.1.0 to 9.2.1\n\nUpdates `org.jlleitschuh.gradle.ktlint` from 14.0.1 to 14.2.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.compose:compose-bom` from 2026.02.00 to 2026.05.01\n\nUpdates `androidx.core:core-ktx` from 1.17.0 to 1.19.0\n\nUpdates `androidx.activity:activity-compose` from 1.12.2 to 1.13.0\n\nUpdates `com.google.android.material:material` from 1.13.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eNew in 1.14.0!\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExpressive Themes (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material3expressive-themes\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Lists (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/List.md\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/CommonButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Icon Button Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/IconButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Button Group Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ButtonGroup.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive FAB Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/FloatingActionButton.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Top App Bar Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/TopAppBar.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Bar (BottomNavigationView) Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/BottomNavigation.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Navigation Rail Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/NavigationRail.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Search Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Search.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Progress Indicator Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpressive Slider Styles (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/components/Slider.md#m3-expressive\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmphasized Typescale (\u003ca href=\"https://github.com/material-components/material-components-android/blob/master/docs/theming/Typography.md#emphasized-scale\"\u003edoc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequired \u003ccode\u003eminSdkVersion\u003c/code\u003e is now 23 or higher, for Material and \u003ca href=\"https://developer.android.com/jetpack/androidx/versions#version-table\"\u003eAndroidX\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with Android Gradle Plugin (AGP) 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003ePrevious version\u003c/th\u003e\n\u003cth\u003eNew version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.constraintlayout:constraintlayout\u003c/td\u003e\n\u003ctd\u003e2.1.0\u003c/td\u003e\n\u003ctd\u003e2.2.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.core:core\u003c/td\u003e\n\u003ctd\u003e1.6.0\u003c/td\u003e\n\u003ctd\u003e1.16.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eandroidx.customview:customview\u003c/td\u003e\n\u003ctd\u003eN/A\u003c/td\u003e\n\u003ctd\u003e1.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ecom.android.tools.build:gradle\u003c/td\u003e\n\u003ctd\u003e8.7.3\u003c/td\u003e\n\u003ctd\u003e8.11.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the bug that setBackground will reset the internal MaterialShapeDrawable for lift-on-scroll feature. (1adc50110ed6491661f89aa535355b1480fac73a)\u003c/li\u003e\n\u003cli\u003eAdd support for navigation button with circle background (015e0534e1a6205224097f258102f913832f99ed)\u003c/li\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003cli\u003eRemoved special key shortcut and keyboard navigation cluster for top app bar for correct keyboard navigation a11y. (ee52adbf051f744f2345ec5b7f4ab4df3b101d4d)\u003c/li\u003e\n\u003cli\u003eUpdated ripple color on actions in M3 toolbar. (3b971c9fe9d6ae9a175d96a448a2e740fa97996f)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eRemove special key shortcut and keyboard navigation cluster for bottom app bar for correct keyboard navigation a11y. (5c73d7a9284fb8e8409452bb95751bf70912acfd)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomNavigationView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix navigation item layout in non-compact windows (78189012dada1fae4516eaccab7b8f75c481aa73)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBottomSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated enableEdgeToEdge for bottom sheet dialogs on API 35+. (603f1ef9d5223fc06fa432c4175473eda2138330)\u003c/li\u003e\n\u003cli\u003ePrevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)\u003c/li\u003e\n\u003cli\u003eFixed keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)\u003c/li\u003e\n\u003cli\u003eFixed crash when protections are set before setContentView is called (d2119098489f6f6b55d77f2c7966b8ddf16c90ed)\u003c/li\u003e\n\u003cli\u003eAdded half-expanded state description for accessibility (95e7b452088d88005982a3f29ec212ef7ee8696d)\u003c/li\u003e\n\u003cli\u003eAdded support for androidx.core ProtectionLayout API and update dependency to 1.16 (e7f9f639d2f4a3b9f619ce704df82cbb14e49222)\u003c/li\u003e\n\u003cli\u003eMake handle respond to keyboard input (1ee07687af2c4c84f515e45c1b809d65aeecbbf4)\u003c/li\u003e\n\u003cli\u003eDelete duplicate \u0026quot;Handling insets and fullscreen\u0026quot; section (5e7e8238f7be448af6b4db4b2ad6128737c0bc50)\u003c/li\u003e\n\u003cli\u003eAdded support for Nested Scrolling with multiple nested scroll children. (4e4e8f3388beb7e82a87cb67142aa34444a79740)\u003c/li\u003e\n\u003cli\u003eMake behavior_draggableOnNestedScroll public (a67afdff0d207239d0f427a37e44074936db3166)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/66c334b7946dabf33adfe1a2b7cad6bcaa4ea3ad\"\u003e\u003ccode\u003e66c334b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/12e57b5143609a96de8516426336bcf3b3e321f7\"\u003e\u003ccode\u003e12e57b5\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters and getters for stroke widths and inner inset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/f4652d6af613395835b17ce329ceb03f43fc4a84\"\u003e\u003ccode\u003ef4652d6\u003c/code\u003e\u003c/a\u003e [NavigationView] Improve focus saving when opening NavigationView\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14b9ac97b0863fa7fea6f59954441cea9f4e7e14\"\u003e\u003ccode\u003e14b9ac9\u003c/code\u003e\u003c/a\u003e [Focus Rings] Add setters for outer and inner stroke colors and for refreshin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/d6de1da0f5532090d8b7de697e13c180f56e11e1\"\u003e\u003ccode\u003ed6de1da\u003c/code\u003e\u003c/a\u003e [A11y][BottomSheet] Auto-expand when a focused view is off-screen in non-touc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/41cfb65e8393cd7ff0f9dc082b400c852405e9cc\"\u003e\u003ccode\u003e41cfb65\u003c/code\u003e\u003c/a\u003e [A11y][NavigationView] Request and restore focus when opened and closed in Dr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/8f63e9485bf6da5a9a0aaefa4bbf26c8ec1364a5\"\u003e\u003ccode\u003e8f63e94\u003c/code\u003e\u003c/a\u003e [Catalog] Fix lift on scroll glitchiness in All Components demo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80aa0cc0233af0e81a846271de0d5218beeceeaf\"\u003e\u003ccode\u003e80aa0cc\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fd44c9d58699e18de06ca5de8687fe79f390568b\"\u003e\u003ccode\u003efd44c9d\u003c/code\u003e\u003c/a\u003e [Button] [SplitButton] Fix inset and optical centering issue for SplitButton ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/e6ae416e7fc791d733eedde96ffea66d313ef231\"\u003e\u003ccode\u003ee6ae416\u003c/code\u003e\u003c/a\u003e [SearchView] Make sure IME is hidden when EditText loses focus\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.13.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.10.2 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecommonmark-java 0.28.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre\u003e\u003ccode\u003e\u0026gt; [!NOTE]\r\n\u0026gt; The text of the note.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/blob/main/CHANGELOG.md\"\u003eorg.commonmark:commonmark's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.28.0] - 2026-03-31\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew extension for alerts (aka callouts/admonitions)\n\u003cul\u003e\n\u003cli\u003eSyntax:\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026gt; [!NOTE]\n\u0026gt; The text of the note.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAs types you can use NOTE, TIP, IMPORTANT, WARNING, CAUTION; or configure the\nextension to add additional ones.\u003c/li\u003e\n\u003cli\u003eUse class \u003ccode\u003eAlertsExtension\u003c/code\u003e in artifact \u003ccode\u003ecommonmark-ext-gfm-alerts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eNew option \u003ccode\u003emaxOpenBlockParsers\u003c/code\u003e for \u003ccode\u003eParser.Builder\u003c/code\u003e to set an overall limit\nfor the depth of block parsing. If set, any nesting beyond the limit will be\nparsed as paragraph text instead. The default remains unlimited.\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/commonmark/commonmark-java/commit/9e30657b678fd41b29ed3a957c3dd6a92fb445e1\"\u003e\u003ccode\u003e9e30657\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release commonmark-parent-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/75f6a97b043b268c7c5ba42455871fb27355844e\"\u003e\u003ccode\u003e75f6a97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/424\"\u003e#424\u003c/a\u003e from commonmark/release-0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/d278947053b678c639bc888d5410cb507853cf59\"\u003e\u003ccode\u003ed278947\u003c/code\u003e\u003c/a\u003e mvn versions:set -DnewVersion=0.28.0-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/873a861938a28653002549a1c418a1ff4b519657\"\u003e\u003ccode\u003e873a861\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for version 0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/53a63653e3b1021cd990caa1cdc2c4c31adcde39\"\u003e\u003ccode\u003e53a6365\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/423\"\u003e#423\u003c/a\u003e from commonmark/alerts-followup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/66210650c3bee8c3129fb4239edf93d902206d20\"\u003e\u003ccode\u003e6621065\u003c/code\u003e\u003c/a\u003e Add alerts extension to integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/e2e27557e475588652902bb261ad0bb8f3be094e\"\u003e\u003ccode\u003ee2e2755\u003c/code\u003e\u003c/a\u003e README: Add section about alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/471e639c3ea3aba2a8c6c656575262fd20ccb121\"\u003e\u003ccode\u003e471e639\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/420\"\u003e#420\u003c/a\u003e from ia3andy/gfm-alerts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/61200f9c27cb7b8706b0754ca958a5822bdf801b\"\u003e\u003ccode\u003e61200f9\u003c/code\u003e\u003c/a\u003e Update commonmark-ext-gfm-alerts/src/main/java/org/commonmark/ext/gfm/alerts/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commonmark/commonmark-java/commit/f40ff5474d5b09e46cd7c27ab8431e325353d566\"\u003e\u003ccode\u003ef40ff54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/commonmark/commonmark-java/issues/422\"\u003e#422\u003c/a\u003e from spirit-at-canva/spirit-add-node-depth-limit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.27.1...commonmark-parent-0.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.commonmark:commonmark-ext-autolink` from 0.27.1 to 0.28.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/commonmark/commonmark-java/releases\"\u003eorg.commonmark:commonmark-ext-autolink's releases\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/Schwad/secretclaw/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schwad%2Fsecretclaw/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}}]}