Skip to content

chore: upgrade dependencies to latest stable & fix build deprecations#69

Merged
pushpalroy merged 2 commits into
mainfrom
proy/chore/dependency-upgrades
Jun 15, 2026
Merged

chore: upgrade dependencies to latest stable & fix build deprecations#69
pushpalroy merged 2 commits into
mainfrom
proy/chore/dependency-upgrades

Conversation

@pushpalroy

@pushpalroy pushpalroy commented Jun 14, 2026

Copy link
Copy Markdown
Owner

Summary

Upgrades libraries/tools to latest stable and clears build-file deprecations. Verified compiling on all targets — Android, Desktop (JVM), JS, WASM, and iOS (x64/arm64/sim) — and spotlessCheck passes.

Upgrades

from to
Gradle 9.4.1 9.5.1
Kotlin 2.3.20 2.4.0
Compose BOM 2026.04.00 2026.05.01
kotlinx-collections-immutable 0.4.0 0.5.0
Spotless 8.4.0 8.6.0
compose ktlint rules 0.3.11 0.6.1

(activity-compose, vanniktech, dokka, report-gen, test-runner, ext:junit, truth, junit4 were already latest.)

Deprecation fixes (build files)

  • js(IR)js in both modules (IR is the only JS backend now).
  • Removed deprecated kotlin.mpp.androidSourceSetLayoutVersion property.
  • Webpack DevServer.static property → static() function (sample).
  • Reordered HomeAppBar params so the required event lambda isn't trailing (new compose ktlint rule).

Preview tooling

  • Added compose.preview (org.jetbrains.compose.ui:ui-tooling-preview) to commonMain so androidx.compose.ui.tooling.preview.Preview resolves across all targets (incl. wasmJs/js) at Compose 1.10.3.

Held back deliberately

  • Compose Multiplatform stays 1.10.3 — 1.11.1's core artifacts (runtime/foundation/ui) don't publish iOS/native variants and break iOS resolution. (This also avoids the compose.* DSL deprecations, which only appear in 1.11.)
  • AGP stays 8.13.1 — AGP 9 has no clean KMP-application plugin for the sample module, so the only remaining warnings are the 2 AGP-internal multi-string notation deprecations (unfixable without AGP 9).

Note: the source-level @Preview deprecation (org.jetbrains…androidx…) is only fully multiplatform on Compose 1.11+, so it remains until CMP ships an iOS-complete 1.11+.

pushpalroy and others added 2 commits June 15, 2026 00:56
Upgrades (verified building on Android, Desktop, JS, WASM, and iOS):
- Gradle 9.4.1 -> 9.5.1
- Kotlin 2.3.20 -> 2.4.0
- Compose BOM 2026.04.00 -> 2026.05.01
- kotlinx-collections-immutable 0.4.0 -> 0.5.0
- Spotless 8.4.0 -> 8.6.0
- compose ktlint rules 0.3.11 -> 0.6.1

Build-file deprecation fixes:
- js(IR) -> js (IR is the only JS backend) in both modules
- removed deprecated kotlin.mpp.androidSourceSetLayoutVersion property
- webpack DevServer 'static' property -> static() function (sample)
- reordered HomeAppBar params so the required event lambda is not trailing
  (new compose ktlint rule)

Preview tooling:
- add compose.preview (org.jetbrains.compose.ui:ui-tooling-preview) to
  commonMain so androidx.compose.ui.tooling.preview.Preview resolves on all
  targets including wasmJs/js

Held back deliberately:
- Compose Multiplatform stays 1.10.3: 1.11.1 does not publish iOS/native
  variants for its core artifacts and breaks iOS resolution.
- AGP stays 8.13.1: AGP 9 has no clean KMP-application plugin for the sample,
  so the only remaining deprecations are the 2 AGP-internal multi-string
  warnings (unfixable without AGP 9).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Kotlin 2.4.0 upgrade changed the JS/WASM npm dependency set, so the
committed kotlin-js-store/yarn.lock no longer matched. CI's kotlinStoreYarnLock
(verify-only) failed. Regenerated via kotlinUpgradeYarnLock.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pushpalroy pushpalroy merged commit a0c3862 into main Jun 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant