chore: upgrade to Kotlin 2.4.0 and Gradle 9.5.1, bump dependencies - #150
Conversation
- Kotlin 2.4.0 (kotlinTarget 2.4), Gradle wrapper 9.5.1 - kotlinx-coroutines 1.11.0, ktor 3.5.0, slf4j 2.0.18, logback 1.5.34 - xemantic-kotlin-core 0.8.0, jreleaser 1.24.0 - add nl.littlerobots.version-catalog-update plugin with config preserving manual catalog ordering - pin org.ow2.asm to 9.9.1 via resolution strategy Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Code ReviewOverviewThis PR upgrades the core toolchain and dependencies:
Overall the changes are clean and well-scoped. A few things worth addressing: Issues1. Stale / contradictory comment in # don't upgrade these 2 until kotlin-2.3.10 is released with native linux compilaiton hang fix
kotlinxSerialization = "1.11.0"
ktor = "3.5.0"This comment has two problems:
2. No explanation for the ASM pin configurations.all {
resolutionStrategy.eachDependency {
if (requested.group == "org.ow2.asm") {
useVersion(libs.versions.asm.get())
}
}
}This is a valid pattern, but without a comment future maintainers won't know why ASM is being forced to 9.9.1. A one-liner would help — e.g. something like Observations / Questions3. That's a two-minor-version bump from a related library. If there are API changes in 0.8.0 that required adaptation in this codebase, it's worth noting in the PR body. If it's a pure drop-in, disregard. 4. Is there still a reason to hold serialization at 1.11.0 now that Kotlin 2.4.0 is the target? If the Linux native compilation hang was a Kotlin 2.3 bug and 2.4 resolves it, serialization could likely be bumped too. Worth a comment even if the hold remains. 5. Removal of license header from Removing the Apache 2.0 header from the wrapper properties file is sensible — it's a Gradle-generated file, not project source — but worth confirming this is intentional and not an accidental casualty of the wrapper regeneration. What's Good
SummaryGood, routine upgrade PR. The main actionable item is cleaning up the stale "don't upgrade these 2" comment — it's now misleading since ktor was upgraded and we're past the 2.3.x concern. The ASM pin deserves a brief comment explaining why it exists. Everything else is clean. |
|
Correction to the earlier review (Issue #1): Apologies — Issue #1 in the previous review comment was incorrect. The The rest of the review stands:
Overall this is a clean, well-structured upgrade PR. No blockers. |
Summary
kotlinTarget2.4), Gradle wrapper 9.5.1nl.littlerobots.version-catalog-updateplugin, configured to preserve the manual, logically-grouped ordering oflibs.versions.tomlorg.ow2.asmto 9.9.1 via a resolution strategy🤖 Generated with Claude Code