Skip to content

Upgrade to Java 25#162

Draft
em3s wants to merge 7 commits intomainfrom
next/java25
Draft

Upgrade to Java 25#162
em3s wants to merge 7 commits intomainfrom
next/java25

Conversation

@em3s
Copy link
Contributor

@em3s em3s commented Feb 3, 2026

Summary

Umbrella PR for Java 25 upgrade work.

Changes

  • Upgrade to Java 25 with Gradle 9.3.1 and Kotlin 2.3.0
  • Add FFI example with Java 25 Foreign Function API

How to Test

./gradlew build
./gradlew :server:bootRun

em3s and others added 2 commits February 3, 2026 17:36
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
@em3s em3s self-assigned this Feb 6, 2026
@em3s em3s changed the title feat: upgrade to Java 25 Upgrade to Java 25 Feb 12, 2026
Configure javaLauncher to use Java 25 toolchain for FFI native access
support when running the server locally.
em3s added 4 commits March 3, 2026 17:23
BlockHound uses Byte Buddy which does not officially support Java 25.
Add the experimental system property so tests can run on JVM 25.

HBase mini cluster calls Subject.getSubject(AccessControlContext) via
Hadoop UserGroupInformation, which was removed in Java 18. Skip HBase
integration tests gracefully via TestAbortedException on Java 18+.
math_ops.c, build.sh, FfiController.kt, and MathOps.kt were demo
artifacts from the FFI proof-of-concept. They are not part of the
Java 25 upgrade itself. Also remove the associated .gitignore entries
for engine/target/ and native library build artifacts.
KotlinConventionsPlugin sets targetCompatibility=17, which propagates
org.gradle.jvm.version=17 to all configurations. Any dependency
requiring JVM 24+ (e.g. io.slatedb:slatedb) will fail to resolve
without this explicit attribute override on resolvable configurations.
Resolve conflicts:
- BaseConventionsPlugin: keep setEnforceCheck(false) from main,
  keep Java formatter disabled for Java 25 compatibility
- server/build.gradle.kts: use gradle-git-properties 2.5.5 from main
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