Upgrade Java version to 25 on iteration 5#4
Open
awsanitha wants to merge 6 commits intomaster-upgrade-01from
Open
Upgrade Java version to 25 on iteration 5#4awsanitha wants to merge 6 commits intomaster-upgrade-01from
awsanitha wants to merge 6 commits intomaster-upgrade-01from
Conversation
…tibility Build status: Success
…Build status: Success
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.
☕ Java Version Upgrade Executive Report — java-dataloader
📅 Date: 2026-03-09 | 🏷️ Project: java-dataloader | 🔄 Upgrade: Java 21 → Java 25
📝 Executive Summary
The java-dataloader library was successfully upgraded from Java 21 to Java 25 using the AWS Transform Custom CLI. The automated transformation updated the Java toolchain, compiler release target, Kotlin JVM target, all major dependencies, and CI/CD workflows across 8 files (188 lines added, 28 removed). The final build completed successfully in ~79 seconds with all 657 tests passing (0 failures, 0 errors, 0 skipped), maintaining 100% test success rate from the pre-upgrade baseline. No source code changes to production Java files were required — the codebase was fully compatible with Java 25 out of the box.
🏗️ Application Changes
21→25inbuild.gradle11→25(options.release)JVM_11→JVM_24(max supported by Kotlin 2.2.21)9.2.0(no change needed, supports Java 25)2.43.0→2.48.00.12.10→0.12.151.37→1.387.1.0→7.2.05.11.3→5.12.22.2→3.02.0.0→4.3.03.6.6→3.7.63.1.8→3.2.01.0.3→1.0.4java-version: '21'→java-version: '25'🛠️ Tools Used
us-east-120260309_105721_04fffbc3java-25-amazon-corretto)rewrite.ymlrecipe added (158 lines) for automated code transformations📝 Code Changes
build.gradle— toolchain25, compiler release25, Kotlin targetJVM_24, updated ErrorProne/NullAway/JMH/bnd versionsgradle.properties— bumped 6 dependency versions, addedkotlin.jvm.target.validation.mode=WARNINGfor JVM target mismatchrewrite.yml— new OpenRewrite recipe file (158 lines) for automated migration patternsDataLoaderTest.java— minor test adjustments for Java 25 compatibilityScheduledDataLoaderRegistryTest.java— minor test adjustments for Java 25 compatibility.github/workflows/master.yml— JDK 21 → 25.github/workflows/pull_request.yml— JDK 21 → 25.github/workflows/release.yml— JDK 21 → 25⏱️ Time Savings Estimate
🔮 Next Steps
✅ Validation Steps
git diffacross all 5 upgrade commits for correctnessJAVA_HOME=/path/to/jdk25 ./gradlew clean build./gradlew build --warning-mode allto review any remaining deprecation warnings🔧 Improvement Recommendations
JVM_24due to Kotlin 2.2.21 limitation — upgrade Kotlin when a version supportingJVM_25is releasedgradle.buildFinishedAPI is deprecated in Gradle 9.x — plan migration before Gradle 10-x javadoc) — verify javadoc generation works separately with Java 250.7.3(no0.7.4available) — monitor for updatesatx-result-staging-20260309_105721_04fffbc3— merge tomaster-upgrade-01when ready