Skip to content

Commit 3a1927e

Browse files
committed
Bump Kotlin to 2.4.10 and KSP to 2.3.10
Update the version catalog, KSP plugin lines in bindgen-api and bindgen-runtime, the Kotlin/Wasm compiler-compatibility script (CURRENT_KOTLIN_VERSION), and the version references in the compatibility guide, README, and CI job name. KSP 2.3.10 (2026-07-09) is the latest release compatible with Kotlin 2.4.x and fixes the module-suffix sanitization that broke against Kotlin 2.4.0 default module names. Previous stable row stays pinned to 2.3.21 to keep cross-line backward compatibility coverage.
1 parent 5bba4bf commit 3a1927e

7 files changed

Lines changed: 12 additions & 12 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ concurrency:
1616

1717
jobs:
1818
kotlin-wasm-compiler-compatibility:
19-
name: Kotlin/Wasm compilers 2.4.0 and 2.3.21
19+
name: Kotlin/Wasm compilers 2.4.10 and 2.3.21
2020
runs-on: ubuntu-24.04
2121
timeout-minutes: 60
2222

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ a bounded, caller-scoped pending table and copied into guest memory exactly
351351
once. Linked `wasmJs` and `wasmWasi` binaries verify the compiler-facing
352352
contract, and the `wasmWasi` binary is decoded, validated, instantiated, and
353353
executed by kwasm in the JVM compatibility test. The compiler gate builds the
354-
same pinned corpus with Kotlin `2.4.0` and previous stable `2.3.21`, in both
354+
same pinned corpus with Kotlin `2.4.10` and previous stable `2.3.21`, in both
355355
legacy and standardized exception-handling modes. Every row exercises WASI
356356
hello-world/stdlib behavior, a JSON round-trip, exception-heavy control flow,
357357
and the generated bindgen boundary; see

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
agp = "9.3.0-alpha01"
33
benchmark = "0.4.17"
44
coroutines = "1.10.2"
5-
kotlin = "2.4.0"
5+
kotlin = "2.4.10"
66
kotlinx-io = "0.9.1"
7-
ksp = "2.3.9"
7+
ksp = "2.3.10"
88
serialization = "1.11.0"
99

1010
[libraries]

scripts/verify-kotlin-wasm-compiler-compatibility.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
set -euo pipefail
44

5-
# Kotlin's official release history lists 2.4.0 as the current line and
5+
# Kotlin's official release history lists 2.4.10 as the current line and
66
# 2.3.21 as the previous stable bug-fix release:
77
# https://kotlinlang.org/docs/releases.html#release-history
8-
readonly CURRENT_KOTLIN_VERSION="2.4.0"
8+
readonly CURRENT_KOTLIN_VERSION="2.4.10"
99
readonly PREVIOUS_KOTLIN_VERSION="2.3.21"
1010
readonly SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
1111
readonly REPOSITORY_ROOT="$(cd -- "$SCRIPT_DIR/.." && pwd)"

wasm-bindgen-api/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
alias(libs.plugins.kotlin.multiplatform)
99
alias(libs.plugins.android.kotlin.multiplatform.library)
1010
alias(libs.plugins.kotlin.serialization)
11-
id("com.google.devtools.ksp") version "2.3.9"
11+
id("com.google.devtools.ksp") version "2.3.10"
1212
`maven-publish`
1313
}
1414

wasm-bindgen-runtime/KOTLIN_WASM_COMPATIBILITY.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module, rather than a hand-authored fixture. The required gate follows the
66

77
| Compiler row | Binary source | Required execution |
88
| --- | --- | --- |
9-
| Current (`2.4.0`) | `:bindgen-api` wasmWasi test executable from the working checkout | Decode, validate, instantiate, run the module start function and Kotlin test suite, then cross generated bindgen `begin`/`finish` imports |
9+
| Current (`2.4.10`) | `:bindgen-api` wasmWasi test executable from the working checkout | Decode, validate, instantiate, run the module start function and Kotlin test suite, then cross generated bindgen `begin`/`finish` imports |
1010
| Previous stable (`2.3.21`) | The exact same source fixture built in an isolated copied checkout | The identical JVM compatibility test |
1111

1212
Run the complete local gate from the repository root:
@@ -18,7 +18,7 @@ bash scripts/verify-kotlin-wasm-compiler-compatibility.sh
1818
The script copies source inputs into a new `mktemp` directory, excludes
1919
checkout metadata and all build products, changes the Kotlin version catalog
2020
only in that disposable copy, and builds the previous row there. It then feeds
21-
the `2.3.21` binary into the current `2.4.0` runtime test. The source checkout
21+
the `2.3.21` binary into the current `2.4.10` runtime test. The source checkout
2222
is never rewritten. Set `KWASM_COMPAT_KEEP_WORK=1` to preserve the isolated
2323
copy for diagnosis.
2424

@@ -29,7 +29,7 @@ The Gradle seam remains directly usable for a prebuilt row:
2929
--tests io.heapy.kwasm.bindgen.runtime.KotlinWasmCompilerCompatibilityTest \
3030
-Pkwasm.kotlinWasmCompatibilityBinaries=/path/to/2.3.21/kwasm-bindgen-api-test.wasm \
3131
-Pkwasm.kotlinWasmCompatibilityVersions=2.3.21 \
32-
-Pkwasm.kotlinWasmCompatibilityRequiredVersions=2.4.0,2.3.21
32+
-Pkwasm.kotlinWasmCompatibilityRequiredVersions=2.4.10,2.3.21
3333
```
3434

3535
Binary paths use the platform path separator; compiler labels and required
@@ -40,7 +40,7 @@ compiled from
4040
`wasm-bindgen-api/src/wasmWasiTest/kotlin/io/heapy/kwasm/bindgen/WasmCompilerFixture.kt`.
4141
After each full execution the test writes
4242
`KWASM_KOTLIN_WASM_COMPATIBILITY_PASS compiler=<version>` to its JUnit output.
43-
The local/CI gate independently requires both `2.4.0` and `2.3.21` markers, so
43+
The local/CI gate independently requires both `2.4.10` and `2.3.21` markers, so
4444
a missing, mislabeled, skipped, or unexecuted row fails.
4545

4646
The corpus uses `ModuleValidationLimits(allowInertV128Types = true)`: current

wasm-bindgen-runtime/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import org.gradle.api.tasks.testing.Test
55
plugins {
66
alias(libs.plugins.kotlin.multiplatform)
77
alias(libs.plugins.android.kotlin.multiplatform.library)
8-
id("com.google.devtools.ksp") version "2.3.9"
8+
id("com.google.devtools.ksp") version "2.3.10"
99
`maven-publish`
1010
}
1111

0 commit comments

Comments
 (0)