build: modernize tech stack to latest versions#8
Merged
Conversation
- Update Kotlin from 1.4.10 to 2.3.0 - Update JVM target from 11 to 25 across all modules - Update Gradle wrapper from 6.7.1 to 9.2.1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Update JDK version from 11 to 25 - Update setup-java action from v1 to v4 - Add Temurin distribution specification 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
9b73912 to
6072540
Compare
- Document hexagonal architecture and testing philosophy - Include common build, test, and run commands - List technology stack with updated versions - Explain contract-based testing approach 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
6072540 to
7a48a97
Compare
lmirabal
commented
Dec 20, 2025
- Replace deprecated kotlinOptions.jvmTarget with kotlin.jvmToolchain(25) - Remove redundant JVM target configuration from domain module - Enable Gradle configuration cache for faster builds This modernizes the Kotlin build configuration to use the recommended Kotlin 2.x JVM toolchain API instead of the deprecated kotlinOptions API. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Upgrade JUnit Jupiter from 5.7.0 to 6.0.1 - Update across all modules including test fixtures - All tests passing with JUnit 6 JUnit 6 includes native Kotlin suspend test support, cancellation API, and performance improvements. Requires Java 17+ (we use Java 25). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Upgrade http4k BOM to 6.25.0.0 (latest release) - Remove getElement/getElements extensions (no longer needed) - Use findElements + isEmpty check for element existence - Replace !! operators with orEmpty() for null-safe attribute access - Update all code to use findElement/findElements directly - All tests passing http4k 6.x includes Kotlin 2.3.0 support and improved WebDriver API where findElement(s) no longer return null. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Upgrade result4k to latest version (2.23.0.0) - All tests passing with updated dependency result4k is part of the forkhandles foundational libraries for Kotlin. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
7a48a97 to
79d343c
Compare
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.
Summary
This PR comprehensively updates the project's technology stack to the latest versions, including Kotlin 2.3.0, JVM 25, and all dependencies. All deprecated APIs have been removed, and the code has been modernized for better compatibility and performance.
Version Updates
Core Platform
Dependencies
Detailed Changes
1. Build Configuration Modernization
Commit:
ca891c6- build: update Kotlin to 2.3.0, JVM to 25, and Gradle to 9.2.12. CI/CD Updates
Commit:
3179bf8- ci: update GitHub Actions to use JDK 253. Documentation
Commit:
ca2eecd- docs: add CLAUDE.md with project architecture and commands4. Deprecated API Removal
Commit:
d4f0bd6- build: replace deprecated kotlinOptions with jvmToolchainkotlinOptions.jvmTargetwith modernkotlin.jvmToolchain(25)5. Testing Framework Update
Commit:
56670bf- build: update JUnit from 5.7.0 to 6.0.16. HTTP Framework Update
Commit:
b7269ee- build: update http4k from 3.284.0 to 6.25.0.0findElements().isNotEmpty()checks!!operators with.orEmpty()for safer null handling7. Result Library Update
Commit:
8c03135- build: update result4k from 1.6.0.0 to 2.23.0.0Code Quality Improvements
Testing
All tests pass across all modules:
Breaking Changes
None. All changes are internal dependency updates with backward-compatible code modifications.
Additional Notes
🤖 Generated with Claude Code