Dependencies¶
Audited against Maven Central, Google Maven and the Gradle Plugin Portal on 2026-10-01 for 3.0.0.
Runtime dependencies and AGP use stable releases. Detekt retains its existing alpha line.
Gradle 9.8.0, JDK 21, Kover 0.9.11, MkDocs Material 9.7.7.
| Alias | Version | Source |
|---|---|---|
jetbrains-dokka |
2.2.0 |
Metadata |
jetbrains-plugin |
2.4.20 |
Metadata |
jetbrains-multiplatform |
2.4.20 |
Metadata |
jetbrains-kover |
0.9.11 |
Metadata |
jetbrains-compose-runtime |
1.12.1 |
Metadata |
jetbrains-compose-animation |
1.12.1 |
Metadata |
jetbrains-compose-foundation |
1.12.1 |
Metadata |
jetbrains-compose-ui-test |
1.12.1 |
Metadata |
jetbrains-compose-desktop |
1.12.1 |
Metadata |
jetbrains-compose-ui-test-junit4-desktop |
1.12.1 |
Metadata |
jetbrains-coroutines-core |
1.11.0 |
Metadata |
jetbrains-coroutines-test |
1.11.0 |
Metadata |
jetbrains-kotlin-test |
2.4.20 |
Metadata |
jetbrains-serialization-json |
1.11.0 |
Metadata |
androidx-library |
9.4.1 |
Metadata |
androidx-arch-coreTesting |
2.2.0 |
Metadata |
androidx-compose-lifecycle |
2.11.0 |
Metadata |
androidx-lifecycle-livedata |
2.11.0 |
Metadata |
androidx-lifecycle-runtime |
2.11.0 |
Metadata |
androidx-lifecycle-savedstate |
2.11.0 |
Metadata |
androidx-compose-testManifest |
1.12.1 |
Metadata |
androidx-test-junit |
1.3.0 |
Metadata |
detekt |
2.0.0-alpha.6 |
Metadata |
ktlint |
14.2.0 |
Metadata |
vanniktech-publish |
0.37.0 |
Metadata |
robolectric-test |
4.17 |
Metadata |
mockk-test-android |
1.14.11 |
Metadata |
mockk-test-agent |
1.14.11 |
Metadata |
Tooling sources¶
Robolectric 4.17 Android tests require --add-opens=java.base/jdk.internal.access=ALL-UNNAMED
on JDK 21. This option is scoped to test JVMs, following the
Robolectric setup guide.
Android SDK setup uses android-actions/setup-android@v4
with Node 24 and the maintained command-line tools provided by the action.
JavaScript lockfile¶
Commit kotlin-js-store/yarn.lock to keep resolved npm dependencies reproducible in
local builds and CI, as recommended by the Kotlin/JS setup guide.
After an intentional dependency change, run ./gradlew kotlinUpgradeYarnLock and
review the lockfile diff. Do not delete it to bypass dependency mismatches.
AtomicFU remains available for modules that use atomic state; the Compose module no longer applies its plugin because observer registration is local to composition.
CodeQL and normal builds both use Kotlin 2.4.20, where explicit backing fields are stable. CodeQL 2.27.1 supports Kotlin 2.4.20, so no compiler downgrade or backing-field opt-in is needed.
Android SDK¶
Compile against stable Android SDK 37.2 with the compileSdk { version = release(37) {
minorApiLevel = 2 } } DSL. The catalog stores major and minor levels separately.
AGP 9.4.1 and Build Tools 37.0.0 are the latest stable releases verified in
Google Maven
and the SDK repository.
minSdk remains 23. These are KMP library modules; the consuming application owns
targetSdk and its runtime behavior. See the Android SDK configuration guide.
Stable update assessment (2026-10-01)¶
- Adopt Kover 0.9.11. Its release reverts a 0.9.10 change that produced zero coverage with Gradle configuration cache (issue 831). Configuration cache remains disabled here; retain report filters and module thresholds and verify coverage before accepting the update.
- Gradle 9.8.0, Kotlin 2.4.20, Compose 1.12.1, AGP 9.4.1, SDK 37.2, Build Tools 37.0.0, AtomicFU 0.33.0, Dokka 2.2.0, coroutines/serialization 1.11.0, JaCoCo 0.8.15, ktlint 14.2.0, publishing 0.37.0, Robolectric 4.17 and MockK 1.14.11 match stable metadata. The dependency table covers published library modules; optional benchmark dependencies are audited below.
- Detekt 2.0.0-alpha.6 has no stable release in the
dev.detektline. Keep the existing tool; reverting to the old stable 1.x coordinates would be a migration, not a patch update. - Retain current major references for Actions: checkout/Python/artifact/Codecov v7, Java/Gradle v6, Android/CodeQL v4, GitHub App/release v3 and Pages v5. Latest stable tags remain in those majors; floating major tags receive their compatible patch updates.
- MkDocs Material 9.7.7 remains current. Library modules have no application
targetSdk; opt-in benchmark apps use the catalog's API 37. Compile SDK 37.2 is a minor API level, not a reason to invent a library target API or raiseminSdk23. - Do not introduce Compose 1.13 alpha or prerelease AGP/Kotlin in this publication.
Optional benchmark tooling¶
| Component | Declared | Latest stable | Decision |
|---|---|---|---|
| Activity KTX | 1.13.0 | 1.13.0 | Retain |
| Macrobenchmark | 1.5.0 | 1.5.0 | Retain |
| UI Automator | 2.3.0 | 2.4.0 | Candidate for a separate device-test update |
| Foojay resolver | 1.0.0 | 1.0.0 | Retain in both settings files |
UI Automator 2.4.0 adds a scoped test API, conditional waits, app-stability helpers and screenshot/reporting support. It can improve the opt-in benchmark harness, but requires compiling and rerunning all six device cases, including rotation and background-process restoration, before adoption. Keep the currently validated 2.3.0 harness in this publication; the new version does not affect published library artifacts. Sources: Google Maven metadata for Activity, Macrobenchmark, UI Automator and the Foojay plugin.