Skip to content

Release 1.2.0: dependency refresh, Kotlin scripting pin, and version targets - #22

Merged
pambrose merged 1 commit into
masterfrom
release-1.2.0
Oct 13, 2026
Merged

pambrose merged 1 commit into
masterfrom
release-1.2.0

Conversation

@pambrose

Copy link
Copy Markdown
Collaborator

Summary

  • Dependencies: readingbat-core 3.4.0 → 3.5.0, Kotlin 2.4.10 → 2.4.21, common-utils 3.2.2 → 5.1.1, versions plugin 0.64.0 → 0.66.0, Gradle wrapper 9.7.1 → 9.8.1. gradle.properties turns the configuration cache on and gives the Gradle and Kotlin daemons a 6 GB heap with heap dumps on OOM.
  • Kotlin scripting pin: the upgrade made ContentTests run out of heap in the Kotlin sweep, even with a 2 GB test heap. From Kotlin 2.4.20 the JSR-223 engine never disposes a script state's compiler environment (about 27 MB each), and readingbat-core starts a new state for every Kotlin challenge. A new kotlin-scripting catalog version holds the runtime scripting jars at 2.4.10. configureScripting() applies it to runtimeClasspath and testRuntimeClasspath only, so the project still compiles with 2.4.21.
  • make versions / make versions-all: versions now lists only what is behind, plus anything that could not be checked and a pending Gradle upgrade. versions-all keeps the plugin's full report.
  • Docs: CHANGELOG [1.2.0], a v1.2.0 RELEASE_NOTES narrative, and fixes to README, llms.txt, CLAUDE.md, and the Makefile. readingbat-core comes from Maven Central, not JitPack. The scripting pin and the configuration cache are now documented, and the Makefile comment no longer says the cache is off.

Test plan

  • make clean tests: all 5 tests pass (both per-language sweeps included), detekt and kotlinter clean
  • ./gradlew properties reports version: 1.2.0
  • Runtime and test classpaths resolve the scripting jars to 2.4.10; the Kotlin compiler classpath stays on 2.4.21
  • make versions and make versions-all both run, and --output-formatter=plain overrides the custom formatter

🤖 Generated with Claude Code

…targets

Dependencies: readingbat-core 3.4.0 -> 3.5.0, Kotlin 2.4.10 -> 2.4.21,
common-utils 3.2.2 -> 5.1.1, and the versions plugin 0.64.0 -> 0.66.0. The
Gradle wrapper moves 9.7.1 -> 9.8.1, which regenerates gradlew.bat.
gradle.properties turns the configuration cache on and gives the Gradle and
Kotlin daemons a 6 GB heap with heap dumps on OOM.

The upgrade made ContentTests run out of heap in the Kotlin sweep, even with a
2 GB test heap. From Kotlin 2.4.20 the JSR-223 engine is built on the K2 REPL
and never disposes a script state's compiler environment (~27 MB each);
readingbat-core resets its pooled engine after every Kotlin challenge, which
starts a new state. The 2.4.10 engine released them. A new kotlin-scripting
catalog version holds the runtime scripting jars at 2.4.10, applied by
configureScripting() to runtimeClasspath and testRuntimeClasspath only, so the
project still compiles with 2.4.21.

make versions now lists only what is behind, via an outputFormatter on
dependencyUpdates; make versions-all keeps the plugin's full plain report.

Docs: CHANGELOG [Unreleased] becomes [1.2.0]; RELEASE_NOTES gains a v1.2.0
narrative. README and llms.txt said readingbat-core came from JitPack, but the
build resolves only from Maven Central; both now say so and describe the
scripting pin. CLAUDE.md records the pin and the configuration cache, and the
Makefile comment no longer claims the cache is off.

Verified with make clean tests: all 5 tests pass, detekt and kotlinter clean;
./gradlew properties reports 1.2.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pambrose
pambrose merged commit d466d03 into master Oct 13, 2026
4 checks passed
@pambrose
pambrose deleted the release-1.2.0 branch October 13, 2026 07:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant