Skip to content

v1.9.0

Choose a tag to compare

@pambrose pambrose released this 26 Jul 15:40
· 4 commits to master since this release
54407f6

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.yml runs on pushes and pull requests targeting master. It checks out the repo, installs Temurin JDK 25, sets up Gradle via gradle/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, and OwnerType.Organization in Content.kt, and toDoubleQuoted in ContentTests.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 remains ben-manes-versions, so alias(libs.plugins.ben.manes.versions) in build.gradle.kts is unchanged. This affects only the version.ref inside libs.versions.toml.

Documentation

  • CHANGELOG.md — 1.9.0 section plus the compare link.
  • RELEASE_NOTES.md — v1.9.0 highlights, 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 — refreshed readingbat-core and 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, and gradle.properties.
  • Forks that add their own [versions] ben-manes-versions entry should rename the key to versions (or keep their own version.ref).
  • Forks with custom code against core-utils 2.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 three ContentTests specs pass (Test all challenges, Test with correct answers, Test individual challenges).
  • ./gradlew buildFatJar — BUILD SUCCESSFUL; produces build/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