diff --git a/lib/build.gradle b/lib/build.gradle
index aa134c32..bff7bb9c 100644
--- a/lib/build.gradle
+++ b/lib/build.gradle
@@ -94,7 +94,7 @@ dependencies {
 }
 
 jacoco {
-    toolVersion = "0.8.7"
+    toolVersion = "0.8.10"
 }
 
 jacocoTestReport {
@@ -154,9 +154,20 @@ def testJava17 = tasks.register('testJava17', Test) {
     shouldRunAfter(tasks.named('test'))
 }
 
+def testJava21 = tasks.register('testJava21', Test) {
+    description = 'Runs unit tests on Java 21.'
+    group = 'verification'
+
+    javaLauncher.set(javaToolchains.launcherFor {
+        languageVersion = JavaLanguageVersion.of(21)
+    })
+    shouldRunAfter(tasks.named('test'))
+}
+
 tasks.named('check') {
     dependsOn(testJava8)
     dependsOn(testJava17)
+    dependsOn(testJava21)
 }
 
 jar {