Skip to content

Deprecate Java 17 support now it is at end of life. - #908

Merged
ascopes merged 3 commits into
mainfrom
task/deprecate-java-17
Oct 22, 2026
Merged

ascopes merged 3 commits into
mainfrom
task/deprecate-java-17

Conversation

@ascopes

@ascopes ascopes commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Java 17 standard support is now end of life with Oracle. As such, it is time to consider removing the parts of the API that had to exist to ensure builds work with JDK 17 versions of javac and the Java 17 JRE.

Changes

  • Removed LoomPolyfill logic for Java <19. We can consider removing LoomPolyfill entirely now if we want to, but that is a larger change so will not be included in this PR.
  • Compile on Java 21 rather than 17.
  • Remove Java 17 GitHub runners.
  • Removed actions linting step as it is no longer kept up to date with the latest available GitHub runners.
  • Bumped the major version to v7.0.0.
  • Removed profiles for Java 21 and newer as those are always going to be active now.

@ascopes ascopes self-assigned this Oct 20, 2026
@ascopes ascopes added documentation Improvements or additions to documentation maven Changes within Maven manifests java Changes to Java code labels Oct 20, 2026
@ascopes
ascopes marked this pull request as draft October 20, 2026 07:14
@ascopes
ascopes force-pushed the task/deprecate-java-17 branch 3 times, most recently from 0c12f8d to d320240 Compare October 20, 2026 07:21
@ascopes
ascopes force-pushed the task/deprecate-java-17 branch from d320240 to 3b5d10e Compare October 20, 2026 07:27
@codecov

codecov Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.44%. Comparing base (85ba349) to head (4e0b291).
⚠️ Report is 4 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##           main     #908       +/-   ##
=========================================
+ Coverage      0   87.44%   +87.44%     
=========================================
  Files         0       99       +99     
  Lines         0     2969     +2969     
  Branches      0      231      +231     
=========================================
+ Hits          0     2596     +2596     
- Misses        0      326      +326     
- Partials      0       47       +47     
Flag Coverage Δ
java-21-macos-latest 87.41% <100.00%> (?)
java-21-ubuntu-latest 87.41% <100.00%> (?)
java-23-windows-11-arm 87.44% <100.00%> (?)
java-25-ubuntu-latest 87.44% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...a/io/github/ascopes/jct/compilers/JctCompiler.java 100.00% <ø> (ø)
...copes/jct/compilers/impl/JavacJctCompilerImpl.java 100.00% <100.00%> (ø)

... and 97 files with indirect coverage changes

@ascopes
ascopes marked this pull request as ready for review October 22, 2026 07:49
@ascopes
ascopes merged commit bee0211 into main Oct 22, 2026
7 checks passed
@ascopes
ascopes deleted the task/deprecate-java-17 branch October 22, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation java Changes to Java code maven Changes within Maven manifests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant