Skip to content

feat: support Java 17 release target#20

Open
Axionize wants to merge 1 commit into
ElevatedDev:masterfrom
Axionize:java17-support
Open

feat: support Java 17 release target#20
Axionize wants to merge 1 commit into
ElevatedDev:masterfrom
Axionize:java17-support

Conversation

@Axionize

@Axionize Axionize commented May 9, 2026

Copy link
Copy Markdown

Summary

  • Add Java 17 runtime support by targeting Java 17 bytecode by default.
  • Replace Java 21-only APIs with Java 17-compatible equivalents in runtime, tests, and JMH sources.
  • Update public docs and compatibility notes from Java 21 baseline to Java 17+.

Verification

  • ./gradlew test
  • ./gradlew jmhClasses
  • ./gradlew examplesClasses
  • Documentation updated where behavior or public API changed
  • Also ran the same checks with an explicit JDK 17 toolchain.

Benchmark Notes

I ran a separate Java release-target matrix on two machines to check whether Java 17-targeted bytecode regressed the fixed-path benchmarks when run on newer JVMs.

Result: the Ryzen 9 9950X run did not show a material slowdown from Java 17-targeted bytecode on OptimalPathBenchmark.latticeInlineFusedCompleted; all release-target comparisons for that benchmark were within overlapping JMH error
intervals.

Notes

  • The release target can be overridden with -Plattice.javaRelease=<version>.
  • The build toolchain can be overridden with -Plattice.javaToolchain=<version>.

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