Skip to content

Take Kotlin 2.4.20, Gradle 9.7.1 and the rest of the group - #158

Merged
tonytonycoder11 merged 1 commit into
mainfrom
chore/kotlin-2-4-20
Sep 10, 2026
Merged

Take Kotlin 2.4.20, Gradle 9.7.1 and the rest of the group#158
tonytonycoder11 merged 1 commit into
mainfrom
chore/kotlin-2-4-20

Conversation

@tonytonycoder11

Copy link
Copy Markdown
Contributor

Supersedes #155. Close that one rather than merging it.

Why it is applied by hand

Dependabot opened #155 against a main that predates #156, so its gradle/libs.versions.toml is the file
from before the MCP module existed. Merging it would have removed the mcp-sdk, kotlinx-io-core and
kotlin-logging entries. That is how it was caught: the build failed on three unresolved catalog
accessors, which is the right failure but not an obvious one to read.

Only the version changes are taken here: Kotlin 2.4.10 to 2.4.20 across the three plugins and
kotlin-test, the Gradle wrapper 9.7.0 to 9.7.1, langchain4j 1.19.0 to 1.20.0, and the GraalVM build
tools 1.1.11 to 1.1.12.

The one thing that is not just a number

Kotlin 2.4.20 needs no source change, with allWarningsAsErrors on and nine native targets. It does
change the public API dump by one line:

 public final class dev/kdrant/KdrantException$RateLimited : dev/kdrant/KdrantException {
+	public fun <init> ()V

RateLimited has two defaulted parameters, and 2.4.20 emits the explicit no-argument constructor where
2.4.10 left only the synthetic bridge. It is additive to the ABI and there is no source change behind it,
which is worth saying because the dump is the file somebody checks when they want to know what moved.

Verification

./gradlew build green, koverVerify included. Both native binaries link under the new compiler, and
both proof scripts pass against a real Qdrant 1.19.1 on loopback: the CLI runs every subcommand, and an
MCP client initializes, lists the tools and completes a search.

Dependabot's #155, applied by hand rather than merged, because its branch predates
#156 and its gradle/libs.versions.toml is the file from before the MCP module
existed. Taking it wholesale removed the mcp-sdk, kotlinx-io and kotlin-logging
entries and broke the build, which is how this was noticed: a dependency bump that
reverts a catalog is not a dependency bump.

Kotlin 2.4.20 needed no source change, with allWarningsAsErrors on and nine native
targets. It does change the public API dump by one line:
KdrantException.RateLimited gains an explicit no-argument constructor where 2.4.10
emitted only the synthetic one. Additive to the ABI, and worth naming because
somebody reading that diff will look for the source change behind it and there
isn't one.

Both native binaries link and both proof scripts pass against a real Qdrant 1.19.1
under the new compiler: the CLI runs every subcommand, and an MCP client
initializes, lists the tools and completes a search.
@trueup-by-nacode-studios

Copy link
Copy Markdown

This pull request adds no capability the code did not already have.

4 files read · 1063 ms · against 42a4e3c · engine 1.4.1

@tonytonycoder11 tonytonycoder11 moved this to In progress in Kdrant Sep 10, 2026
@tonytonycoder11
tonytonycoder11 merged commit a926d89 into main Sep 10, 2026
14 checks passed
@tonytonycoder11
tonytonycoder11 deleted the chore/kotlin-2-4-20 branch September 10, 2026 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

1 participant