Skip to content

Compatibility

Floors

The published jar targets the oldest supported consumer, not the toolchain the repo builds with:

Consumer surface Floor
kotlin-dsl build-logic (Gradle-embedded Kotlin) Gradle 8.11+ / embedded Kotlin 2.0
Daemon JVM JDK 17
Kotlin Gradle Plugin at runtime KGP 2.2+ (developed and tested against 2.3.21)

How the floors are enforced

The build pins the emitted output: Kotlin languageVersion/apiVersion 2.0, jvmTarget 17 with --release protection, and a kotlin-stdlib 2.0.21 POM dependency. A verifyCompatFloors task inspects the built jar on every check, so the floors cannot silently regress. Why this approach: Design.

Version pairing

kmp-targets Kotlin/KGP Gradle
0.1.x 2.2+ (built against 2.3.21) 8.11+ (repo runs 9.5.1, configuration cache on)