Skip to content

chore: Java 25 compile+runtime baseline, CI matrix 25/26 (plan-01 A1) - #55

Merged
cuioss-oliver merged 2 commits into
mainfrom
chore/plan-01-java25-baseline
Jul 12, 2026
Merged

chore: Java 25 compile+runtime baseline, CI matrix 25/26 (plan-01 A1)#55
cuioss-oliver merged 2 commits into
mainfrom
chore/plan-01-java25-baseline

Conversation

@cuioss-oliver

@cuioss-oliver cuioss-oliver commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Post-merge amendment A1 to Plan 01: drop the "compile at 21, run at 25" split in favour of compiling and running on Java 25 (the LTS). Java 21 is not a target for this project.

Changes

  • pom.xml: maven.compiler.release and the compiler-plugin <release> 21 → 25.
  • .github/project.yml: maven-build.java-versions ["21","25"] → ["25","26"]; primary java-version 21 → 25. Add "27" at its GA (~Sept 2026).
  • doc/adr/0001-*: rewritten (status accepted; supersedes the proposed compile-low/run-high form).
  • doc/plan/01-*: new Post-Merge Amendments → A1 section recording this change (the plan already merged, so it is amended, not rewritten).
  • CLAUDE.md: project-overview + language-features lines updated to Java 25.

Verification

Reactor compiles clean at --release 25 (bytecode major version 69 = Java 25) on a JDK 26 toolchain. The JDK-26 CI matrix leg is a forward-compatibility guard (the Lombok/Unsafe runtime warning under 26 is expected and non-blocking).

Notes

  • Native Mandrel builder pin stays on the jdk-25 line (already 25 — unchanged).
  • Descriptive Java-version prose in architecture.adoc / README.adoc / plan-02 is updated in the sibling docs PR (docs/address-design-findings); the two PRs touch disjoint files.

Summary by CodeRabbit

  • New Features

    • Updated the project’s supported Java baseline to Java 25 for compilation, runtime use, and native builds.
    • Added Java 26 CI coverage for forward compatibility.
  • Documentation

    • Updated project guidance and architecture documentation to reflect the Java 25 requirement, supported language features, build environments, and upgrade strategy.
    • Clarified post-merge implementation decisions and current deployment expectations.

Post-merge amendment A1 to Plan 01: drop the "compile at 21, run at 25" split
in favour of compiling AND running on Java 25 (the LTS). Java 21 is not a
target for this project.

- pom.xml: maven.compiler.release and compiler-plugin <release> 21 -> 25
- .github/project.yml: java-versions ["21","25"] -> ["25","26"]; primary 21 -> 25
  (add "27" at its GA, ~Sept 2026)
- ADR-0001 rewritten (accepted, supersedes the proposed compile-low/run-high form)
- Plan 01 gains a Post-Merge Amendments section recording A1
- CLAUDE.md project overview + language-features line updated to Java 25

Verified: reactor compiles clean at --release 25 (bytecode major 69) on a
JDK 26 toolchain; the JDK-26 matrix leg is a forward-compatibility guard.

Co-Authored-By: Claude <noreply@anthropic.com>

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @cuioss-oliver, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@cuioss-oliver, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository: cuioss/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 72e58310-a99a-45e7-a781-f1db094a7cad

📥 Commits

Reviewing files that changed from the base of the PR and between 577d2e7 and bbb35b2.

📒 Files selected for processing (1)
  • pom.xml
📝 Walkthrough

Walkthrough

The project now compiles and runs on Java 25, tests Java 25 and 26, and documents the accepted baseline across its ADR, implementation plan, and development guidance.

Changes

Java 25 compile and runtime baseline

Layer / File(s) Summary
Baseline decision and policy
doc/adr/0001-java25-runtime-baseline.adoc
The ADR is accepted with Java 25 as the compilation and runtime baseline, Java 22–25 language features enabled, Java 25 native/JVM shipping paths, and Java 26 as forward-compatibility coverage.
Build and CI configuration
pom.xml, .github/project.yml
Maven compiler release settings move from 21 to 25, and the CI Maven matrix changes from 21/25 to 25/26 with Java 25 as the primary version.
Project guidance updates
CLAUDE.md, doc/plan/01-base-implementation.adoc
Project guidance and the implementation plan record Java 25 compile/runtime usage, Java 25 feature guidance, and post-merge baseline amendments.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: moving the project to a Java 25 compile/runtime baseline with a 25/26 CI matrix.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the project's compile and runtime baseline to Java 25, aligning the build configuration, CI matrix, and documentation (including ADR-0001 and Plan 01 amendments) to target Java 25 and 26. The feedback suggests using the ${maven.compiler.release} property in the maven-compiler-plugin configuration within pom.xml to avoid duplicating the version number.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread pom.xml Outdated
…i review)

Single source of truth: the compiler-plugin <release> now references the
maven.compiler.release property instead of a hardcoded 25.

Co-Authored-By: Claude <noreply@anthropic.com>
@cuioss-oliver
cuioss-oliver added this pull request to the merge queue Jul 12, 2026
Merged via the queue into main with commit 82bf65d Jul 12, 2026
26 checks passed
@cuioss-oliver
cuioss-oliver deleted the chore/plan-01-java25-baseline branch July 12, 2026 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant