Repository navigation
v1.10.0
A dependency-refresh release on top of 1.9.1, plus cross-platform line-ending normalization. There are no DSL, content, or runtime source changes — existing Content.kt definitions compile and run unchanged, and the build still targets JDK 25. The minor-version bump tracks the minor bumps in Ktor and readingbat-core rather than any change in this repo's own API.
Highlights
- readingbat-core / readingbat-kotest 3.3.1 → 3.4.0. A minor bump; no call-site changes were required.
correctAnswers()remains a suspend function, as it has since 3.2.0, soContentTests.ktkeeps itsrunBlocking { … }wrapper. - Ktor 3.5.1 → 3.6.0. The catalog and readingbat-core 3.4.0 agree on this version —
runtimeClasspathresolvesio.ktor:ktor-server-coreto 3.6.0 with no conflict resolution in play. - Kotest 6.2.3 → 6.2.5. A patch bump; the
libs.bundles.testingbundle and the StringSpec/JUnit5 setup are unchanged. - Gradle 9.6.1 → 9.7.1. The wrapper jar,
gradle-wrapper.properties, and thegradle-wrappercatalog key all move together. The configuration cache continues to store and reuse entries. - Static-analysis and tooling bumps. detekt 2.0.0-alpha.5 → 2.0.0-alpha.6, Kotlinter 5.6.0 → 5.7.0, and the ben-manes versions plugin 0.57.0 → 0.64.0. Both linters re-run clean under the new versions, so no
.editorconfigchanges were needed and the repo still requires no detekt baseline. .gitattributesadded. Git now normalizes line endings per file type instead of relying on each contributor'score.autocrlfsetting:gradlewis pinned tolfso the launcher stays executable on Linux and macOS after a Windows checkout,*.battocrlf, and*.jar/*.pngare markedbinaryso Git stops attempting text diffs or EOL conversion on them — which also keepsgradle/wrapper/gradle-wrapper.jarintact across wrapper upgrades.- Docs refreshed.
CHANGELOG.mdandRELEASE_NOTES.mdgained 1.10.0 entries,llms.txtpicked up the new Gradle and readingbat-core versions plus the new file, andREADME.md/CLAUDE.mdnow document the.gitattributesconventions and that the Gradle version is driven by thegradle-wrappercatalog key viamake upgrade-wrapper.
Dependencies
| Library | Version |
|---|---|
| Kotlin | 2.4.10 |
| Ktor | 3.6.0 |
| Kotest | 6.2.5 |
| readingbat-core | 3.4.0 |
| core-utils | 3.2.2 |
| kotlin-logging | 8.0.4 |
| detekt | 2.0.0-alpha.6 |
| kotlinter | 5.7.0 |
| Gradle | 9.7.1 |
| JDK toolchain | 25 |
Unchanged from 1.9.1: Kotlin, core-utils, kotlin-logging, and the JDK toolchain.
Upgrade Notes
- No source changes are required for forks that track this template — this release touches only
gradle/libs.versions.toml,gradle/wrapper/*,gradle.properties,.gitattributes, and the docs. - Re-run
./gradlew --versionafter pulling to let the new wrapper (9.7.1) download on first use. Forks that track their own Gradle version should bump thegradle-wrapperkey ingradle/libs.versions.tomland runmake upgrade-wrapper, which drives./gradlew wrapperfrom that key. - Windows contributors may see a one-time line-ending renormalization the first time they check out with
.gitattributesin place.git add --renormalize .resolves any spurious whole-file diffs. - JDK 25 remains required, unchanged from 1.8.0.
- Deliberately not adopted in this release: Kotlin 2.4.20 and core-utils 3.2.3 / 4.1.0, all of which
./gradlew dependencyUpdatesreports as available.
Full Changelog: 1.9.1...1.10.0