From 69ab5e925639f66c7814dfc069dacaca2ab5337b Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 15 Feb 2026 14:59:53 +0000 Subject: [PATCH 1/2] Update JDK from 21 to 25 (latest LTS) JDK 25, released September 2025, is now the latest LTS version. The Dockerfile already uses JRE 25; this aligns the build toolchain and CI to match. https://claude.ai/code/session_019kXZo4xkVeDx3t1uqKnxiC --- .github/workflows/ci.yml | 2 +- CLAUDE.md | 2 +- build.gradle.kts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be06c75..73c23d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 with: distribution: temurin - java-version: 21 + java-version: 25 - uses: gradle/actions/setup-gradle@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5 diff --git a/CLAUDE.md b/CLAUDE.md index e6fac4a..47e1a44 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ./gradlew check # Lint (ktlint) + test (Spek2) ``` -JDK 21+ required. Tests use snapshot testing (snapshots in `src/test/resources/__snapshot__/`). +JDK 25+ required. Tests use snapshot testing (snapshots in `src/test/resources/__snapshot__/`). ## Architecture diff --git a/build.gradle.kts b/build.gradle.kts index 457e316..0607dd2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -36,7 +36,7 @@ dependencies { } kotlin { - jvmToolchain(21) + jvmToolchain(25) } application { From 8ff74312b935c5d586f7e00e4ea231eab40bdab0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 15 Feb 2026 15:02:30 +0000 Subject: [PATCH 2/2] Configure Renovate to group JDK updates into a single PR Adds custom regex managers so Renovate tracks the JDK major version in build.gradle.kts (jvmToolchain) and CI workflow (java-version), using the java-version datasource with major-version-only extraction. A packageRule groups these with the eclipse-temurin Docker image so all JDK-related bumps land in one PR. https://claude.ai/code/session_019kXZo4xkVeDx3t1uqKnxiC --- renovate.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index fc4c748..fae8139 100644 --- a/renovate.json +++ b/renovate.json @@ -1,5 +1,29 @@ { "extends": ["github>henrist/renovate-config:default"], "automerge": true, - "automergeType": "branch" + "automergeType": "branch", + "customManagers": [ + { + "customType": "regex", + "fileMatch": ["build\\.gradle\\.kts$"], + "matchStrings": ["jvmToolchain\\((?\\d+)\\)"], + "depNameTemplate": "java", + "datasourceTemplate": "java-version", + "extractVersionTemplate": "^(?\\d+)" + }, + { + "customType": "regex", + "fileMatch": ["^\\.github/workflows/[^/]+\\.yml$"], + "matchStrings": ["java-version:\\s*(?\\d+)"], + "depNameTemplate": "java", + "datasourceTemplate": "java-version", + "extractVersionTemplate": "^(?\\d+)" + } + ], + "packageRules": [ + { + "groupName": "jdk", + "matchPackageNames": ["eclipse-temurin", "java"] + } + ] }