Release 1.1.0: dependency refresh and release documentation - #21
Merged
Merged
Conversation
Bundles the two test-reliability fixes that landed after 1.0.1 (#19, #20) with a dependency refresh and the documentation needed to cut the release. Dependencies: readingbat-core 3.3.1 -> 3.4.0, Ktor 3.5.1 -> 3.6.0, Kotest 6.2.3 -> 6.2.5, kotlinter 5.6.0 -> 5.7.0, detekt 2.0.0-alpha.5 -> 2.0.0-alpha.6, and the versions plugin 0.57.0 -> 0.64.0. The Gradle wrapper moves 9.6.1 -> 9.7.1. Kotlin stays at 2.4.10, common-utils at 3.2.2, and the JVM toolchain at 25. Adds the repository's first .gitattributes. gradlew.bat had been stored with LF endings, which cmd.exe mis-parses around labels and multi-line set blocks -- a latent break that Linux-only CI would never have surfaced. Stored blobs are now LF, *.bat is checked out CRLF, and *.jar is pinned binary. `git add --renormalize .` was a no-op, so no existing blob changed. Documentation was audited against the repo rather than just appended to: - CHANGELOG.md: [Unreleased] becomes [1.1.0], matching how 1.0.1 was cut, plus the previously undocumented dependency and wrapper bumps. - RELEASE_NOTES.md: v1.1.0 narrative covering the runTest 60s-ceiling diagnosis. - README.md: the Testing section was stale -- it still described the suite as using testApplication, which is exactly what #20 moved away from. - CLAUDE.md, llms.txt: record the two constraints that are easy to break when editing the suite (await runTestApplication directly; a new language needs its own sweep). Verified with `./gradlew --rerun-tasks check` on the new dependency set: all 5 tests pass and both lint gates are clean. `./gradlew properties` reports 1.1.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bundles the two test-reliability fixes that landed after
1.0.1(#19, #20) with a dependency refresh and the documentation needed to cut the release. No challenge content changed.Dependencies
3.3.13.4.03.5.13.6.06.2.36.2.55.6.05.7.02.0.0-alpha.52.0.0-alpha.60.57.00.64.09.6.19.7.1Kotlin stays at
2.4.10, common-utils at3.2.2, and the JVM toolchain at 25..gitattributes
The repository had never had one.
gradlew.bathad been committed with LF endings, whichcmd.exemis-parses around labels and multi-linesetblocks — a latent break that Linux-only CI would never have surfaced. Stored blobs are now normalized to LF,/gradlewstayseol=lf,*.batis checked outeol=crlf, and*.jaris pinnedbinary.git add --renormalize .was a no-op, so no existing blob changed.Documentation
Audited against the repo rather than just appended to:
CHANGELOG.md—[Unreleased]becomes[1.1.0] - 2026-09-21, matching how1.0.1was cut (no emptyUnreleasedleft behind), plus the previously undocumented dependency and wrapper bumps.RELEASE_NOTES.md—v1.1.0narrative covering therunTest60s-ceiling diagnosis, the per-language split, the coverage guard, and the toolchain refresh.README.md— the Testing section was stale: it still described the suite as usingtestApplication, which is precisely what Give the challenge sweeps an explicit timeout #20 moved away from. Now documents the per-language sweeps, the explicit 5-minute timeout, and the coverage guard.CLAUDE.md,llms.txt— record the two constraints that are easy to break when editing the suite: awaitrunTestApplicationdirectly rather than callingtestApplication, and a language added toContent.ktneeds its own sweep.llms.txtkeeps the1.0.1discipline of pointing atlibs.versions.tomlrather than restating versions that drift.Verification
./gradlew --rerun-tasks checkon the new dependency set:5 tests, 0 failures, with kotlinter and detekt clean.
./gradlew propertiesreportsversion: 1.1.0, and every Makefile target named in the docs exists.Note on the release date
CHANGELOG.mddates1.1.0as 2026-09-21 (today), but the commits it describes landed 2026-08-01 — the work sat uncommitted for seven weeks. Say the word if you'd rather date it to when the work happened.🤖 Generated with Claude Code