| Metadata | Value |
|---|---|
| Status | Completed |
| Version | 2.0.0 |
| Last Updated | 2026-07-10 |
| Author | Sangeetha Grantha Team |
Batch 3a — Upgrade Kotlin 2.3.0 → 2.4.0 (stable) across the backend, shared KMP domain, and mobile. The Compose compiler plugin is version-locked to Kotlin, so Compose Multiplatform must be validated in the same change.
gradle/libs.versions.toml)2.3.0 → 2.4.0 — kotlin, all kotlin* plugins, and composeCompiler (ref’d to kotlin).1.10.0 → verify the version paired with Kotlin 2.4.0 (check JetBrains compatibility matrix before bumping).1.10.2, serialization 1.10.0, Koin 4.x, Ktor 3.x.kotlin in libs.versions.toml; resolve compose compiler / CMP compatibility from the JetBrains matrix../gradlew :modules:backend:api:build — fix any language-level deprecations / warnings (project targets zero warnings, TRACK-099).make test (backend) + integration tests via Testcontainers.current-versions.md, tech-stack.md, getting-started.md, plus Memory tech-stack note).Kotlin 2.4.0 + Compose Multiplatform 1.11.1 (CMP 1.11 requires Kotlin ≥ 2.3; compose compiler
ships with Kotlin, composeCompiler stays ref’d to kotlin). Fallout handled:
:shared:presentation — CMP 1.11 no longer publishes x64 iOS artifacts
(resolution failure on runtime/foundation/ui for iosX64). The pure-Kotlin :shared:domain
still targets iosX64.compose.* plugin accessors deprecated → explicit version-catalog deps. Component split
versions: runtime/foundation/ui ride the CMP version (1.11.1); material3 is on its own train
(1.9.0); material-icons-extended is frozen upstream at 1.7.3 (future: Material Symbols).-Xexplicit-backing-fields removed from both shared modules — in-language since Kotlin 2.4
(the flag became a redundancy warning; zero-warnings target, TRACK-099).sourceInfoType=none → noop (value renamed in 2.4).:api:build + full dal+api test suites (incl. Testcontainers integration on
the new 2.0.5 substrate) and both KMP modules build warning-free. Version docs synced.