diff --git a/gitlab4j-api/src/main/java/org/gitlab4j/api/DiscussionsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/DiscussionsApi.java
index f7932039b..9dfa82d59 100644
--- a/gitlab4j-api/src/main/java/org/gitlab4j/api/DiscussionsApi.java
+++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/DiscussionsApi.java
@@ -11,7 +11,7 @@
 import org.gitlab4j.api.models.Discussion;
 import org.gitlab4j.api.models.Note;
 import org.gitlab4j.api.models.Position;
-import org.gitlab4j.api.utils.ISO8601;
+import org.gitlab4j.models.utils.ISO8601;
 
 /**
  * This class implements the client side API for the GitLab Discussions API.
diff --git a/gitlab4j-api/src/main/java/org/gitlab4j/api/NotesApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/NotesApi.java
index 0d089d4ad..23bc34ac1 100644
--- a/gitlab4j-api/src/main/java/org/gitlab4j/api/NotesApi.java
+++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/NotesApi.java
@@ -8,7 +8,7 @@
 import jakarta.ws.rs.core.Response;
 
 import org.gitlab4j.api.models.Note;
-import org.gitlab4j.api.utils.ISO8601;
+import org.gitlab4j.models.utils.ISO8601;
 
 public class NotesApi extends AbstractApi {
 
diff --git a/gitlab4j-api/src/main/java/org/gitlab4j/api/utils/JacksonJson.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/utils/JacksonJson.java
index f4bdc89df..2e933935d 100644
--- a/gitlab4j-api/src/main/java/org/gitlab4j/api/utils/JacksonJson.java
+++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/utils/JacksonJson.java
@@ -33,7 +33,7 @@
 import com.fasterxml.jackson.databind.JsonSerializer;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.databind.PropertyNamingStrategy;
+import com.fasterxml.jackson.databind.PropertyNamingStrategies;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.module.SimpleModule;
@@ -60,7 +60,7 @@ public JacksonJson() {
         objectMapper = new ObjectMapper();
 
         objectMapper.setSerializationInclusion(Include.NON_NULL);
-        objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+        objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
 
         objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
         objectMapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true);
@@ -360,7 +360,7 @@ private static class JacksonJsonSingletonHelper {
         private static final JacksonJson JACKSON_JSON = new JacksonJson();
 
         static {
-            JACKSON_JSON.objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE);
+            JACKSON_JSON.objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CAMEL_CASE);
             JACKSON_JSON.objectMapper.setSerializationInclusion(Include.ALWAYS);
         }
     }
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/models/EpicIssue.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/models/EpicIssue.java
index d485c6069..5d2ed325e 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/models/EpicIssue.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/models/EpicIssue.java
@@ -8,6 +8,7 @@
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class EpicIssue extends AbstractIssue {
+    private static final long serialVersionUID = 1L;
 
     @JsonProperty("_links")
     private Map<String, String> links;
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/models/LinkedIssue.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/models/LinkedIssue.java
index 4b668a5aa..ea4448212 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/models/LinkedIssue.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/models/LinkedIssue.java
@@ -5,6 +5,7 @@
 import org.gitlab4j.models.utils.JacksonJson;
 
 public class LinkedIssue extends AbstractIssue {
+    private static final long serialVersionUID = 1L;
 
     private Long issueLinkId;
     private LinkType linkType;
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/models/Metadata.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/models/Metadata.java
index 35d42e878..056d881ac 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/models/Metadata.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/models/Metadata.java
@@ -51,7 +51,7 @@ public String toString() {
         return (JacksonJson.toJsonString(this));
     }
 
-    private static class Kas {
+    public static class Kas {
 
         private Boolean enabled;
 
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/BugzillaService.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/BugzillaService.java
index 72032756c..2ab25a89b 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/BugzillaService.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/BugzillaService.java
@@ -3,6 +3,7 @@
 import org.gitlab4j.models.GitLabForm;
 
 public class BugzillaService extends NotificationService {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Get the form data for this service based on it's properties.
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/CustomIssueTrackerService.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/CustomIssueTrackerService.java
index a39cae7de..3dede3483 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/CustomIssueTrackerService.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/CustomIssueTrackerService.java
@@ -3,6 +3,7 @@
 import org.gitlab4j.models.GitLabForm;
 
 public class CustomIssueTrackerService extends NotificationService {
+    private static final long serialVersionUID = 1L;
 
     /**
      * Get the form data for this service based on it's properties.
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/EmailOnPushService.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/EmailOnPushService.java
index 7c79317dd..8929ea337 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/EmailOnPushService.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/EmailOnPushService.java
@@ -5,6 +5,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class EmailOnPushService extends NotificationService {
+    private static final long serialVersionUID = 1L;
 
     public static final String RECIPIENT_PROP = "recipients";
     public static final String DISABLE_DIFFS_PROP = "disable_diffs";
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/ExternalWikiService.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/ExternalWikiService.java
index 989a1a079..a6a71e06a 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/ExternalWikiService.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/ExternalWikiService.java
@@ -3,6 +3,7 @@
 import org.gitlab4j.models.GitLabForm;
 
 public class ExternalWikiService extends NotificationService {
+    private static final long serialVersionUID = 1L;
 
     public static final String WIKIURL_KEY_PROP = "external_wiki_url";
 
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/HipChatService.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/HipChatService.java
index 460e2b323..f6f873c95 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/HipChatService.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/HipChatService.java
@@ -5,6 +5,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class HipChatService extends NotificationService {
+    private static final long serialVersionUID = 1L;
 
     public static final String TOKEN_PROP = "token";
     public static final String COLOR_PROP = "color";
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/JiraService.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/JiraService.java
index a5abc2f70..6a99de968 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/JiraService.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/JiraService.java
@@ -7,6 +7,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class JiraService extends NotificationService {
+    private static final long serialVersionUID = 1L;
 
     public static final String URL_PROP = "url";
     public static final String API_URL_PROP = "api_url";
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/MattermostService.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/MattermostService.java
index b134907c8..cbac859eb 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/services/MattermostService.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/services/MattermostService.java
@@ -5,6 +5,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class MattermostService extends NotificationService {
+    private static final long serialVersionUID = 1L;
 
     private String defaultChannel;
 
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/RepositorySystemHookEvent.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/RepositorySystemHookEvent.java
index 9fd3ef3e6..fe3426cd4 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/RepositorySystemHookEvent.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/RepositorySystemHookEvent.java
@@ -6,6 +6,7 @@
 import org.gitlab4j.models.utils.JacksonJson;
 
 public class RepositorySystemHookEvent extends AbstractSystemHookEvent {
+    private static final long serialVersionUID = 1L;
 
     public static final String REPOSITORY_UPDATE_EVENT = "repository_update";
 
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/SystemHookEvent.java b/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/SystemHookEvent.java
index fe9aa5715..ef233c0a2 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/SystemHookEvent.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/api/systemhooks/SystemHookEvent.java
@@ -71,38 +71,74 @@ public interface SystemHookEvent extends Serializable {
 
 // All of the following class definitions are needed to make the above work.
 // Jackson has a tough time mapping the same class to multiple IDs
-class CreateProjectSystemHookEvent extends ProjectSystemHookEvent {}
+class CreateProjectSystemHookEvent extends ProjectSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class DestroyProjectSystemHookEvent extends ProjectSystemHookEvent {}
+class DestroyProjectSystemHookEvent extends ProjectSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class RenameProjectSystemHookEvent extends ProjectSystemHookEvent {}
+class RenameProjectSystemHookEvent extends ProjectSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class TransferProjectSystemHookEvent extends ProjectSystemHookEvent {}
+class TransferProjectSystemHookEvent extends ProjectSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class UpdateProjectSystemHookEvent extends ProjectSystemHookEvent {}
+class UpdateProjectSystemHookEvent extends ProjectSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class NewTeamMemberSystemHookEvent extends TeamMemberSystemHookEvent {}
+class NewTeamMemberSystemHookEvent extends TeamMemberSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class RemoveTeamMemberSystemHookEvent extends TeamMemberSystemHookEvent {}
+class RemoveTeamMemberSystemHookEvent extends TeamMemberSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class CreateUserSystemHookEvent extends UserSystemHookEvent {}
+class CreateUserSystemHookEvent extends UserSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class DestroyUserSystemHookEvent extends UserSystemHookEvent {}
+class DestroyUserSystemHookEvent extends UserSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class RenameUserSystemHookEvent extends UserSystemHookEvent {}
+class RenameUserSystemHookEvent extends UserSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class UserFailedLoginSystemHookEvent extends UserSystemHookEvent {}
+class UserFailedLoginSystemHookEvent extends UserSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class CreateKeySystemHookEvent extends KeySystemHookEvent {}
+class CreateKeySystemHookEvent extends KeySystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class DestroyKeySystemHookEvent extends KeySystemHookEvent {}
+class DestroyKeySystemHookEvent extends KeySystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class CreateGroupSystemHookEvent extends GroupSystemHookEvent {}
+class CreateGroupSystemHookEvent extends GroupSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class DestroyGroupSystemHookEvent extends GroupSystemHookEvent {}
+class DestroyGroupSystemHookEvent extends GroupSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class RenameGroupSystemHookEvent extends GroupSystemHookEvent {}
+class RenameGroupSystemHookEvent extends GroupSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class NewGroupMemberSystemHookEvent extends GroupMemberSystemHookEvent {}
+class NewGroupMemberSystemHookEvent extends GroupMemberSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
 
-class RemoveGroupMemberSystemHookEvent extends GroupMemberSystemHookEvent {}
+class RemoveGroupMemberSystemHookEvent extends GroupMemberSystemHookEvent {
+    private static final long serialVersionUID = 1L;
+}
diff --git a/gitlab4j-models/src/main/java/org/gitlab4j/models/utils/JacksonJson.java b/gitlab4j-models/src/main/java/org/gitlab4j/models/utils/JacksonJson.java
index 9ee768b5b..70648e1e9 100644
--- a/gitlab4j-models/src/main/java/org/gitlab4j/models/utils/JacksonJson.java
+++ b/gitlab4j-models/src/main/java/org/gitlab4j/models/utils/JacksonJson.java
@@ -27,7 +27,7 @@
 import com.fasterxml.jackson.databind.JsonSerializer;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.databind.PropertyNamingStrategy;
+import com.fasterxml.jackson.databind.PropertyNamingStrategies;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.module.SimpleModule;
@@ -53,7 +53,7 @@ public JacksonJson() {
         objectMapper = new ObjectMapper();
 
         objectMapper.setSerializationInclusion(Include.NON_NULL);
-        objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+        objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
 
         objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
         objectMapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true);
@@ -339,7 +339,7 @@ private static class JacksonJsonSingletonHelper {
         private static final JacksonJson JACKSON_JSON = new JacksonJson();
 
         static {
-            JACKSON_JSON.objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE);
+            JACKSON_JSON.objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CAMEL_CASE);
             JACKSON_JSON.objectMapper.setSerializationInclusion(Include.ALWAYS);
         }
     }