diff --git a/build-tools-internal/version.properties b/build-tools-internal/version.properties
index b8ee6ca131cc..b4a8bd808593 100644
--- a/build-tools-internal/version.properties
+++ b/build-tools-internal/version.properties
@@ -38,8 +38,8 @@ protobuf = 3.25.5
# test dependencies
randomizedrunner = 2.8.2
junit = 4.13.2
-junit5 = 5.7.1
-hamcrest = 2.1
+junit5 = 5.12.1
+hamcrest = 3.0
mocksocket = 1.2
# test container dependencies
diff --git a/gradle/build.versions.toml b/gradle/build.versions.toml
index 9b5230f7d47a..9e470e210fe2 100644
--- a/gradle/build.versions.toml
+++ b/gradle/build.versions.toml
@@ -1,7 +1,7 @@
[versions]
asm = "9.7.1"
jackson = "2.15.0"
-junit5 = "5.8.1"
+junit5 = "5.12.1"
spock = "2.1-groovy-3.0"
[libraries]
@@ -17,7 +17,7 @@ commmons-io = "commons-io:commons-io:2.2"
docker-compose = "com.avast.gradle:gradle-docker-compose-plugin:0.17.5"
forbiddenApis = "de.thetaphi:forbiddenapis:3.8"
gradle-enterprise = "com.gradle:develocity-gradle-plugin:3.19.2"
-hamcrest = "org.hamcrest:hamcrest:2.1"
+hamcrest = "org.hamcrest:hamcrest:3.0"
httpcore5 = "org.apache.httpcomponents.core5:httpcore5:5.3.3"
httpclient5 = "org.apache.httpcomponents.client5:httpclient5:5.4.2"
idea-ext = "gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext:1.1.4"
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index b74cb96a8ed1..f6f986327c6e 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -1634,16 +1634,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -3317,6 +3307,11 @@
+
+
+
+
+
@@ -3887,16 +3882,16 @@
-
-
-
-
-
+
+
+
+
+
@@ -4007,24 +4002,34 @@
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
@@ -4032,24 +4037,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
@@ -4292,6 +4312,11 @@
+
+
+
+
+
diff --git a/server/src/internalClusterTest/java/org/elasticsearch/index/seqno/RetentionLeaseIT.java b/server/src/internalClusterTest/java/org/elasticsearch/index/seqno/RetentionLeaseIT.java
index 70689dc68967..1f0495a846fb 100644
--- a/server/src/internalClusterTest/java/org/elasticsearch/index/seqno/RetentionLeaseIT.java
+++ b/server/src/internalClusterTest/java/org/elasticsearch/index/seqno/RetentionLeaseIT.java
@@ -53,6 +53,7 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke
import static org.hamcrest.Matchers.anyOf;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.empty;
+import static org.hamcrest.Matchers.emptyIterable;
import static org.hamcrest.Matchers.equalTo;
@ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.TEST)
@@ -229,7 +230,7 @@ public class RetentionLeaseIT extends ESIntegTestCase {
.getShardOrNull(new ShardId(resolveIndex("index"), 0));
assertThat(
RetentionLeaseUtils.toMapExcludingPeerRecoveryRetentionLeases(replica.getRetentionLeases()).values(),
- anyOf(empty(), contains(currentRetentionLease))
+ anyOf(emptyIterable(), contains(currentRetentionLease))
);
}