diff --git a/core/pom.xml b/core/pom.xml
index 4c75586..eb12d1f 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -45,7 +45,7 @@
     <dependency>
       <groupId>io.github.eisop</groupId>
       <artifactId>checker-qual</artifactId>
-      <version>3.42.0-eisop5</version>
+      <version>3.49.1-eisop1</version>
       <scope>provided</scope>
     </dependency>
 
@@ -99,7 +99,7 @@
             <path>
               <groupId>io.github.eisop</groupId>
               <artifactId>checker</artifactId>
-              <version>3.42.0-eisop5</version>
+              <version>3.49.1-eisop1</version>
             </path>
           </annotationProcessorPaths>
           <annotationProcessors>
diff --git a/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java
index 9c66f82..5de1475 100644
--- a/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java
+++ b/core/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/Formatter.java
@@ -12,6 +12,7 @@
 import java.util.stream.Collectors;
 import org.jboss.logmanager.ExtFormatter;
 import org.jboss.logmanager.ExtLogRecord;
+import org.jspecify.annotations.NonNull;
 import org.jspecify.annotations.Nullable;
 
 /**
@@ -155,7 +156,7 @@
             logRecord.getLevel().intValue() >= 1000 ? ERROR_EVENT_TYPE : null,
             insertId);
 
-    var b = Objects.requireNonNull(stringBuilder.get());
+    var b = (@NonNull StringBuilder) stringBuilder.get();
     b.delete(0, b.length());
     b.append("{");
     entry.json(b);
diff --git a/pom.xml b/pom.xml
index cbbaff5..6e08841 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,10 +69,10 @@
     <maven-javadoc-plugin.version>3.11.2</maven-javadoc-plugin.version>
     <maven-source-plugin.version>3.3.1</maven-source-plugin.version>
     <nexus-staging-plugin.version>1.7.0</nexus-staging-plugin.version>
-    <spotless-plugin.version>2.44.3</spotless-plugin.version>
-    <surefire-plugin.version>3.5.2</surefire-plugin.version>
+    <spotless-plugin.version>2.44.4</spotless-plugin.version>
+    <surefire-plugin.version>3.5.3</surefire-plugin.version>
 
-    <quarkus.version>3.19.3</quarkus.version>
+    <quarkus.version>3.21.2</quarkus.version>
   </properties>
 
   <distributionManagement>
