From d2d323849e6ab39ff63c2663f02b1453bcb6c12b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Tue, 18 Nov 2025 11:14:08 +0100 Subject: [PATCH 1/8] chore(ci): add JDK 25 to CI --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5212dd91..23319eb9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -223,7 +223,7 @@ workflows: matrix: parameters: exe: [ docker-amd64-image, docker-arm64-image ] - maven-image: [ << pipeline.parameters.default-maven-image >>, "cimg/openjdk:17.0", "cimg/openjdk:20.0", "cimg/openjdk:21.0" ] + maven-image: [ << pipeline.parameters.default-maven-image >>, "cimg/openjdk:17.0", "cimg/openjdk:21.0", "cimg/openjdk:25.0" ] - deploy-snapshot: requires: - check-dependencies From 4bdf3df386e7f0b30f9ceb8f29c2ae1f9c497e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Tue, 18 Nov 2025 12:29:35 +0100 Subject: [PATCH 2/8] chore: Add JVM argument for unsafe memory access --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 23319eb9..87ded92d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -70,7 +70,7 @@ jobs: default: docker-amd64-image arg-line: type: string - default: "--add-opens=java.base/java.nio=ALL-UNNAMED" + default: "--add-opens=java.base/java.nio=ALL-UNNAMED --sun-misc-unsafe-memory-access=allow" executor: name: << parameters.exe >> maven-image: << parameters.maven-image >> From 19ee5d1bffd51930456b9e84e1d929b63a002ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Mon, 8 Dec 2025 11:09:26 +0100 Subject: [PATCH 3/8] chore: Update JVM argument handling for unsafe memory access based on JDK version --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 87ded92d..23319eb9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -70,7 +70,7 @@ jobs: default: docker-amd64-image arg-line: type: string - default: "--add-opens=java.base/java.nio=ALL-UNNAMED --sun-misc-unsafe-memory-access=allow" + default: "--add-opens=java.base/java.nio=ALL-UNNAMED" executor: name: << parameters.exe >> maven-image: << parameters.maven-image >> From a48811ea9b4924ee1681d1a66bc4a2c1892ac8f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Mon, 8 Dec 2025 11:25:22 +0100 Subject: [PATCH 4/8] chore: Update Java test matrix for JDK 25 and add unsafe memory access arguments --- .circleci/config.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 23319eb9..56bac957 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -219,17 +219,28 @@ workflows: - check-dependencies - check-licenses - check-generate-site + # Java tests matrix for JDK under 25 - tests-java: matrix: + alias: tests-java-jdk-old parameters: exe: [ docker-amd64-image, docker-arm64-image ] maven-image: [ << pipeline.parameters.default-maven-image >>, "cimg/openjdk:17.0", "cimg/openjdk:21.0", "cimg/openjdk:25.0" ] + # Java test matrix for JDK 25+ + - tests-java: + matrix: + alias: tests-java-jdk-25+ + parameters: + exe: [ docker-amd64-image, docker-arm64-image ] + maven-image: [ "cimg/openjdk:25.0" ] + arg-line: [ "--add-opens=java.base/java.nio=ALL-UNNAMED --sun-misc-unsafe-memory-access=allow" ] - deploy-snapshot: requires: - check-dependencies - check-licenses - check-generate-site - - tests-java + - tests-java-jdk-old + - tests-java-jdk-25+ filters: branches: only: main From 987ce6efbe9bcdf05c4858efe95d4e16445a361b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Mon, 8 Dec 2025 11:26:26 +0100 Subject: [PATCH 5/8] chore: Remove JDK 25 from Maven image configuration in test matrix --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 56bac957..ac8b41b7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -225,7 +225,7 @@ workflows: alias: tests-java-jdk-old parameters: exe: [ docker-amd64-image, docker-arm64-image ] - maven-image: [ << pipeline.parameters.default-maven-image >>, "cimg/openjdk:17.0", "cimg/openjdk:21.0", "cimg/openjdk:25.0" ] + maven-image: [ << pipeline.parameters.default-maven-image >>, "cimg/openjdk:17.0", "cimg/openjdk:21.0" ] # Java test matrix for JDK 25+ - tests-java: matrix: From 5f9b530112c6dd86c37b746fcbb0a9e3f0be1dc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Mon, 8 Dec 2025 11:28:36 +0100 Subject: [PATCH 6/8] chore: Update documentation to clarify JDK 25+ requirements and JVM arguments --- CHANGELOG.md | 4 ++++ README.md | 2 ++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97fe3e8d..31358ef6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## 1.8.0 [unreleased] +### CI + +1. [#313](https://github.com/InfluxCommunity/influxdb3-java/pull/313): Clarify JDK 25+ requirements. + ## 1.7.0 [2025-11-21] ### Bug Fixes diff --git a/README.md b/README.md index fe2d2083..6980f0c5 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,8 @@ We offer this [Getting Started: InfluxDB 3.0 Java Client Library](https://www.yo ## Installation > :warning: Some JDK internals must be exposed by adding `--add-opens=java.base/java.nio=ALL-UNNAMED` to your JVM arguments. + +If you are using JDK 25 or later, you also need to add `--sun-misc-unsafe-memory-access=allow`. Add the latest version of the client to your project: From 2ca6122953d35af5cf2f581dbd6df6e8dfa86333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Mon, 8 Dec 2025 11:32:11 +0100 Subject: [PATCH 7/8] chore: Update README to include JVM argument for unsafe memory access in JDK 25+ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6980f0c5..2f67218b 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ We offer this [Getting Started: InfluxDB 3.0 Java Client Library](https://www.yo ## Installation > :warning: Some JDK internals must be exposed by adding `--add-opens=java.base/java.nio=ALL-UNNAMED` to your JVM arguments. - + If you are using JDK 25 or later, you also need to add `--sun-misc-unsafe-memory-access=allow`. Add the latest version of the client to your project: From ea43f34efc9a6ef7705e49eb9c96ff46e699dd74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Tue, 9 Dec 2025 10:39:23 +0100 Subject: [PATCH 8/8] chore: Update README to reflect compatibility with Java 25 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f67218b..d14e44de 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ which allows you to execute SQL queries against InfluxDB IOx. We offer this [Getting Started: InfluxDB 3.0 Java Client Library](https://www.youtube.com/watch?v=EFnG7rUDvR4) video for learning more about the library. -> :warning: This client requires Java 11 and is compatible up to and including Java 21. +> :warning: This client requires Java 11 and is compatible up to and including Java 25. ## Installation