diff --git a/.github/CI_VERSIONS.md b/.github/CI_VERSIONS.md
index 5a03756022..f3b089f9b4 100644
--- a/.github/CI_VERSIONS.md
+++ b/.github/CI_VERSIONS.md
@@ -5,7 +5,7 @@ file is the checklist of what needs periodic review and where each pin lives.
| What | Version | Defined in | Notes |
|------|---------|------------|-------|
-| Java (JDK) | `21` | `.github/actions/setup-java/action.yml` | Single source of truth for the CI JDK. Must match `maven.compiler.source`/`maven.compiler.target` in `pom.xml`. Review when the project adopts a new LTS. |
+| Java (JDK) | `25` | `.github/actions/setup-java/action.yml` | Single source of truth for the CI JDK. Must match `maven.compiler.source`/`maven.compiler.target` in `pom.xml` and the `openjfx.version` line. Review when the project adopts a new LTS. |
| Elasticsearch | `8.11.2` | `.github/workflows/_integration-test.yml` and `services/save-and-restore/docker-compose.yml` | Service container for the save-and-restore integration tests. Update both files together. |
## Automatically maintained
diff --git a/.github/actions/setup-java/action.yml b/.github/actions/setup-java/action.yml
index fa997d077e..f0684ca7fb 100644
--- a/.github/actions/setup-java/action.yml
+++ b/.github/actions/setup-java/action.yml
@@ -7,5 +7,5 @@ runs:
- uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287
with:
distribution: temurin
- java-version: '21'
+ java-version: '25'
cache: maven
diff --git a/app/display/model/src/test/java/org/csstudio/display/builder/PathTest.java b/app/display/model/src/test/java/org/csstudio/display/builder/PathTest.java
index c045769227..0d88ba0352 100644
--- a/app/display/model/src/test/java/org/csstudio/display/builder/PathTest.java
+++ b/app/display/model/src/test/java/org/csstudio/display/builder/PathTest.java
@@ -56,6 +56,7 @@ public void testDirectory()
}
@Test
+ @DisabledOnOs(OS.WINDOWS)
public void testCombineNotWindows()
{
String path = ModelResourceUtil.combineDisplayPaths(null, "example.opi");
diff --git a/app/save-and-restore/model/pom.xml b/app/save-and-restore/model/pom.xml
index a8c3a05d54..39eb262cd3 100644
--- a/app/save-and-restore/model/pom.xml
+++ b/app/save-and-restore/model/pom.xml
@@ -72,12 +72,21 @@
${tools.jackson.version}
-
+
org.glassfish
javax.json
1.1.4
+
+
+ org.glassfish
+ jakarta.json
+ 2.0.1
+
diff --git a/dependencies/phoebus-target/pom.xml b/dependencies/phoebus-target/pom.xml
index e0abdbc8e3..465cdc7d7f 100644
--- a/dependencies/phoebus-target/pom.xml
+++ b/dependencies/phoebus-target/pom.xml
@@ -12,8 +12,8 @@
-
release
@@ -60,7 +60,7 @@
-
org.phoebus
@@ -481,10 +481,10 @@
- org.springdoc
- springdoc-openapi-ui
- 1.7.0
-
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
+ ${springdoc.version}
+
javax.validation
@@ -500,7 +500,7 @@
-
+
org.slf4j
slf4j-jdk14
1.7.28
@@ -551,7 +551,7 @@
epics-jackie-client
3.1.0
-
+
@@ -570,7 +570,7 @@
bcprov-jdk18on
1.84
-
+
org.apache.poi
@@ -610,7 +610,7 @@
tika-core
3.2.0
-
+
io.fair-acc
diff --git a/pom.xml b/pom.xml
index 5acabadc98..eae150491c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,7 +68,7 @@
7.0.11
1.0.8
1.0.8
- 21.0.7
+ 25.0.4
26.0.1
@@ -93,12 +93,13 @@
10.16.1.1
2.7.4b1
6.9.0.202403050737-r
- 21
- 21
+ 25
+ 25
5.18.4
1.26.1
5.3.22
2.7.18
+ 3.1.0
@@ -110,6 +111,7 @@
${maven.compiler.target}
true
+ -parameters
-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
-J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
@@ -148,7 +150,7 @@
-
+
org.apache.maven.plugins
maven-javadoc-plugin
diff --git a/services/alarm-config-logger/pom.xml b/services/alarm-config-logger/pom.xml
index 53bbfc6b59..1440567f65 100644
--- a/services/alarm-config-logger/pom.xml
+++ b/services/alarm-config-logger/pom.xml
@@ -6,7 +6,9 @@
6.0.0-SNAPSHOT
- 21
+ 25
+
+ 4.1.0
service-alarm-config-logger
${project.groupId}:${project.artifactId}
@@ -91,8 +93,8 @@
jackson-annotations
${jackson.annotations.version}
-
-
+
+
org.slf4j
slf4j-jdk14
1.7.28
diff --git a/services/alarm-logger/pom.xml b/services/alarm-logger/pom.xml
index ea56a8b29d..4e6c82d2b8 100644
--- a/services/alarm-logger/pom.xml
+++ b/services/alarm-logger/pom.xml
@@ -6,7 +6,9 @@
6.0.0-SNAPSHOT
- 21
+ 25
+
+ 4.1.0
service-alarm-logger
${project.groupId}:${project.artifactId}
@@ -60,16 +62,27 @@
kafka-clients
${kafka.version}
-
- org.elasticsearch.client
- elasticsearch-rest-client-sniffer
- ${elasticsearch.version}
-
co.elastic.clients
elasticsearch-java
${elasticsearch.version}
+
+
+ org.apache.httpcomponents.client5
+ httpclient5
+ 5.2.3
+
+
+ org.apache.httpcomponents.core5
+ httpcore5
+ 5.2.4
+
+
+ org.apache.httpcomponents.core5
+ httpcore5-h2
+ 5.2.4
+
tools.jackson.core
jackson-databind
@@ -141,8 +154,8 @@
org.springdoc
- springdoc-openapi-ui
- 1.7.0
+ springdoc-openapi-starter-webmvc-ui
+ ${springdoc.version}
diff --git a/services/alarm-logger/src/main/java/org/phoebus/alarm/logging/AlarmMessageLogger.java b/services/alarm-logger/src/main/java/org/phoebus/alarm/logging/AlarmMessageLogger.java
index 8e29dc51e5..0885c90c75 100644
--- a/services/alarm-logger/src/main/java/org/phoebus/alarm/logging/AlarmMessageLogger.java
+++ b/services/alarm-logger/src/main/java/org/phoebus/alarm/logging/AlarmMessageLogger.java
@@ -57,7 +57,7 @@ public class AlarmMessageLogger implements Runnable {
* Create a alarm logger for the alarm messages (both state and configuration)
* for a given alarm server topic.
* This runnable will create the kafka streams for the given alarm messages which match the format 'topic'
- *
+ *
* @param topic - the alarm topic in kafka
*/
public AlarmMessageLogger(String topic) {
@@ -189,9 +189,9 @@ public long extract(ConsumerRecord