Repository navigation
v1.9.0
A dependency-refresh and CI release on top of 1.8.0. There are no DSL, content, or runtime source changes — existing Content.kt definitions compile and run unchanged, and the build still targets JDK 25.
Highlights
- GitHub Actions CI.
.github/workflows/ci.ymlruns on pushes and pull requests targetingmaster. It checks out the repo, installs Temurin JDK 25, sets up Gradle viagradle/actions/setup-gradle@v4, runs./gradlew --rerun-tasks check, then runs./gradlew lintKotlin detekt. Lint and static analysis are now enforced on every PR rather than by convention. - readingbat-core / readingbat-kotest 3.2.1 → 3.3.0. No call-site changes were required;
correctAnswers()remains a suspend function as of 3.2.0. - core-utils 2.9.3 → 3.2.1. A major-version bump of a library this template uses directly —
FileSystemSource,GitHubRepo, andOwnerType.OrganizationinContent.kt, andtoDoubleQuotedinContentTests.kt. All four call sites compile unchanged against 3.x. - Kotlin 2.4.0 → 2.4.10, Kotest 6.2.1 → 6.2.3, Kotlinter 5.5.0 → 5.6.0.
- Catalog version key renamed.
[versions] ben-manes-versions→versions. The plugin alias remainsben-manes-versions, soalias(libs.plugins.ben.manes.versions)inbuild.gradle.ktsis unchanged. This affects only theversion.refinsidelibs.versions.toml.
Documentation
CHANGELOG.md— 1.9.0 section plus the compare link.RELEASE_NOTES.md—v1.9.0highlights, dependency table, upgrade notes, and verification results.CLAUDE.md/README.md— new "Continuous Integration" sections documenting the workflow.README.md— CI status badge.llms.txt— refreshedreadingbat-coreand current-version values; CI noted under Key Files and Tech Stack.
Dependencies
| Library | Version |
|---|---|
| Kotlin | 2.4.10 |
| Ktor | 3.5.1 |
| Kotest | 6.2.3 |
| readingbat-core | 3.3.0 |
| core-utils | 3.2.1 |
| kotlin-logging | 8.0.4 |
| detekt | 2.0.0-alpha.5 |
| kotlinter | 5.6.0 |
| Gradle | 9.6.1 |
| JDK toolchain | 25 |
Upgrade Notes
- No source changes are required for forks that track this template — this release touches only
.github/workflows/ci.yml,gradle/libs.versions.toml, andgradle.properties. - Forks that add their own
[versions] ben-manes-versionsentry should rename the key toversions(or keep their ownversion.ref). - Forks with custom code against
core-utils2.x should re-verify against 3.x; this template's own usage needed no changes, but 3.0.0 is a major release. - JDK 25 remains required, unchanged from 1.8.0.
Verification
./gradlew --rerun-tasks check— BUILD SUCCESSFUL; all threeContentTestsspecs pass (Test all challenges,Test with correct answers,Test individual challenges)../gradlew buildFatJar— BUILD SUCCESSFUL; producesbuild/libs/server.jar../gradlew lintKotlin detekt— both checks run cleanly.- GitHub Actions CI passed on PR #11, confirming the build on a clean JDK 25 runner.
Full Changelog: 1.8.0...1.9.0