diff --git a/Jenkinsfile b/Jenkinsfile
index 16021e3652d4fa32918913a96e74743f0b276832..23fee205c342e9e7f78d969c673b0047416c0ecc 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -3,7 +3,7 @@ def FAILED_STAGE
 pipeline {
     agent {
        node {
-           label 'ozgcloud-jenkins-build-agent'
+           label 'ozgcloud-jenkins-build-agent-jdk21'
         }
     }
 
@@ -33,7 +33,7 @@ pipeline {
                     def parentPom = readMavenPom file: 'ozgcloud-common-parent/pom.xml'
                     def parentVersion = parentPom.version
 
-                    if(env.BRANCH_NAME == 'release'){
+                    if(env.BRANCH_NAME == 'release' || env.BRANCH_NAME == 'release-v4'){
                         if ( !(rootVersion ==~ RELEASE_REGEX) || !(dependenciesVersion ==~ RELEASE_REGEX) || !(parentVersion ==~ RELEASE_REGEX)) {
                             error("Keine Release Version für Branch ${env.BRANCH_NAME}.")
                         }
@@ -95,8 +95,8 @@ pipeline {
                 anyOf {
                     branch 'master'
                     branch 'release'
-                    branch 'version-2'
-                    branch 'release-v2'
+                    branch 'Version-4'
+                    branch 'release-v4'
                 }
             }
             steps {
@@ -112,7 +112,7 @@ pipeline {
     post {
         failure {
             script {
-                if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'release') {
+                if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'release' || env.BRANCH_NAME == 'release-v4') {
                     sendFailureMessage()
                 }
             }
@@ -130,7 +130,7 @@ Void sendFailureMessage() {
     if (env.BRANCH_NAME == 'master') {
         room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de"
     }
-    else if (env.BRANCH_NAME == 'release') {
+    else if (env.BRANCH_NAME == 'release' || env.BRANCH_NAME == 'release-v4') {
         room = "!oWZpUGTFsxkJIYNfYg:matrix.ozg-sh.de"
     }
 
@@ -141,4 +141,4 @@ String getElementAccessToken() {
     withCredentials([string(credentialsId: 'element-login-json', variable: 'LOGIN_JSON')]) {
         return readJSON ( text: sh (script: '''curl -XPOST -d \"$LOGIN_JSON\" https://matrix.ozg-sh.de/_matrix/client/v3/login''', returnStdout: true)).access_token
     }
-}
\ No newline at end of file
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e6b4356d19a4a66a23646e5d11c6b33005680096
--- /dev/null
+++ b/README.md
@@ -0,0 +1,16 @@
+# Common Library for OZG-Cloud Applications
+
+## Changelog
+
+### 4.2.0
+* Update to Spring-Boot 3.2.6 / Spring 6.1.8
+
+### 4.1.0
+
+### 4.0.1
+
+### 4.0.0
+* Update to Spring-Boot 3.2 / Spring 6.1
+* Update to Java 21
+* fixed dependencies for jjwt
+* Umstellung auf io.github.git-commit-id git-commit-id-maven-plugin
diff --git a/ozgcloud-common-dependencies/pom.xml b/ozgcloud-common-dependencies/pom.xml
index c413ac4da5d902a21af148584da22afd98c32bb3..f35eb53c375ab7c44a555b0be5314e9c08cdebe8 100644
--- a/ozgcloud-common-dependencies/pom.xml
+++ b/ozgcloud-common-dependencies/pom.xml
@@ -31,7 +31,7 @@
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
 		<artifactId>ozgcloud-common</artifactId>
-		<version>3.0.2-SNAPSHOT</version>
+		<version>4.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>ozgcloud-common-dependencies</artifactId>
@@ -43,13 +43,12 @@
 		<vorgang-manager.version>2.1.0</vorgang-manager.version>
 		<license.version>1.3.0</license.version>
 
-		<java.version>17</java.version>
-		<maven.compiler.source>17</maven.compiler.source>
-		<maven.compiler.target>17</maven.compiler.target>
+		<maven.compiler.source>${java.version}</maven.compiler.source>
+		<maven.compiler.target>${java.version}</maven.compiler.target>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-		<spring-boot.version>3.1.10</spring-boot.version>
-		<spring.version>6.0.18</spring.version>
+		<spring-boot.version>3.2.6</spring-boot.version>
+		<spring.version>6.1.8</spring.version>
 
 		<grpc.spring-boot-starter.version>5.0.0</grpc.spring-boot-starter.version>
 
@@ -61,7 +60,7 @@
 		<protoc-jar-plugin.version>3.11.4</protoc-jar-plugin.version>
 
 		<protobuf.version>3.25.1</protobuf.version>
-		<protoc-gen.version>1.59.0</protoc-gen.version>
+		<protoc-gen.version>1.60.0</protoc-gen.version>
 
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
 		<commons-io.version>2.15.1</commons-io.version>
@@ -74,7 +73,7 @@
 
 		<jakarta.version>2.1.0</jakarta.version>
 
-		<quarkus.platform.version>3.5.3</quarkus.platform.version>
+		<quarkus.platform.version>3.6.5</quarkus.platform.version>
 		
 		<keycloak-adapter.version>23.0.7</keycloak-adapter.version>
 		<keycloak-spring-boot-starter.version>23.0.7</keycloak-spring-boot-starter.version>
@@ -204,6 +203,11 @@
 				<artifactId>grpc-protobuf</artifactId>
 				<version>${grpc.version}</version>
 			</dependency>
+			<dependency>
+				<groupId>io.grpc</groupId>
+				<artifactId>grpc-inprocess</artifactId>
+				<version>${grpc.version}</version>
+			</dependency>
 			<!-- protobuf -->
 			<dependency>
 				<groupId>com.google.protobuf</groupId>
@@ -255,19 +259,8 @@
 				<version>${jjwt.version}</version>
 				<scope>runtime</scope>
 			</dependency>
-			<!-- TODO legacy - pleace remove -->
-			<dependency>
-				<groupId>io.jsonwebtoken</groupId>
-				<artifactId>jjwt</artifactId>
-				<version>0.9.1</version>
-			</dependency>
 
 			<!-- APIs -->
-			<dependency>
-				<groupId>jakarta.annotation</groupId>
-				<artifactId>jakarta.annotation-api</artifactId>
-				<version>${jakarta.version}</version>
-			</dependency>
 			<dependency>
 				<groupId>jakarta.interceptor</groupId>
 				<artifactId>jakarta.interceptor-api</artifactId>
diff --git a/ozgcloud-common-lib/pom.xml b/ozgcloud-common-lib/pom.xml
index a131d88965cf264fc5ef4d3452139ff6724db14e..912f0adb18fab1d74d0666bfdb32f1e08a3be0a2 100644
--- a/ozgcloud-common-lib/pom.xml
+++ b/ozgcloud-common-lib/pom.xml
@@ -27,18 +27,19 @@
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
+	
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
 		<artifactId>ozgcloud-common</artifactId>
-		<version>3.0.2-SNAPSHOT</version>
+		<version>4.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>ozgcloud-common-lib</artifactId>
 	<name>OzgCloud Common - Shared Lib</name>
 
 	<properties>
-		<maven.compiler.source>17</maven.compiler.source>
-		<maven.compiler.target>17</maven.compiler.target>
+		<maven.compiler.source>${java.version}</maven.compiler.source>
+		<maven.compiler.target>${java.version}</maven.compiler.target>
 		<mockito.version>5.10.0</mockito.version>
 		
 	</properties>
diff --git a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
index 1f060fd284cbc04298c02a8b3b44ea72d29c51fc..3e1df9813e1d004fa55c50f255399860ededd7b5 100644
--- a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
@@ -23,9 +23,12 @@
  */
 package de.ozgcloud.common.logging.logger;
 
+import org.apache.commons.lang3.ArrayUtils;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.reflect.MethodSignature;
 
+import java.util.Optional;
+
 public class AspectLogger extends CommonLogger<JoinPoint> {
 
 	public AspectLogger(JoinPoint joinPoint) {
@@ -39,7 +42,7 @@ public class AspectLogger extends CommonLogger<JoinPoint> {
 
 	@Override
 	String[] getParameterNames() {
-		return getSignature().getParameterNames();
+		return Optional.ofNullable(getSignature()).map(MethodSignature::getParameterNames).orElse(ArrayUtils.EMPTY_STRING_ARRAY);
 	}
 
 	@Override
diff --git a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
index 349866f276437b4fb47d42e6cd9efa02ec014a0e..daba25500838ebd6c7a635cf1cfd002586bc933f 100644
--- a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
@@ -24,9 +24,12 @@
 package de.ozgcloud.common.logging.logger;
 
 import jakarta.interceptor.InvocationContext;
+import lombok.NonNull;
+import org.apache.commons.lang3.ArrayUtils;
 
 import java.util.Arrays;
 import java.util.Objects;
+import java.util.Optional;
 
 public class InterceptingLogger extends CommonLogger<InvocationContext> {
 
@@ -41,7 +44,11 @@ public class InterceptingLogger extends CommonLogger<InvocationContext> {
 
 	@Override
 	String[] getParameterNames() {
-		return Arrays.stream(logContext.getParameters())
+		return Optional.ofNullable(logContext.getParameters()).map(this::mapParameters).orElse(ArrayUtils.EMPTY_STRING_ARRAY);
+	}
+
+	private String[] mapParameters(@NonNull Object[] parameters) {
+		return Arrays.stream(parameters)
 				.filter(Objects::nonNull)
 				.map(param -> param.getClass().getSimpleName())
 				.toArray(String[]::new);
diff --git a/ozgcloud-common-parent/pom.xml b/ozgcloud-common-parent/pom.xml
index 156969bc471cfc16930aaea09c9f79acc1e4b0e8..1fe6b1c0e25b9cde929b362c2a4a8bb40a8230f9 100644
--- a/ozgcloud-common-parent/pom.xml
+++ b/ozgcloud-common-parent/pom.xml
@@ -31,28 +31,28 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.1.10</version>
+		<version>3.2.6</version>
 		<relativePath />
 	</parent>
 
 	<groupId>de.ozgcloud.common</groupId>
 	<artifactId>ozgcloud-common-parent</artifactId>
-	<version>3.0.2-SNAPSHOT</version>
+	<version>4.2.0-SNAPSHOT</version>
 
 	<packaging>pom</packaging>
 	<name>OzgCloud Common - Parent</name>
 	<description>Parent for all OzgCloud spring boot projects</description>
 
 	<properties>
-		<java.version>17</java.version>
+		<java.version>21</java.version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
-		<ozgcloud-common.version>3.0.2-SNAPSHOT</ozgcloud-common.version>
-		<ozgcloud.license.version>1.6.0</ozgcloud.license.version>
+		<ozgcloud-common.version>4.1.0</ozgcloud-common.version>
+		<ozgcloud.license.version>1.3.0</ozgcloud.license.version>
 
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<spring-boot.version>3.1.10</spring-boot.version>
+		<spring-boot.version>3.2.6</spring-boot.version>
 
 		<!-- plugins -->
 		<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
@@ -63,8 +63,8 @@
 		<license.plugin.version>4.1</license.plugin.version>
 		<rewrite.plugin.version>4.38.2</rewrite.plugin.version>
 
-		<!--overriden to fix security issue CVE-2022-1471 -->
-		<snakeyaml.version>2.2</snakeyaml.version>
+		<!--overriden for issue CVE-2021-26291-->
+		<git-commit-id-maven-plugin.version>7.0.0</git-commit-id-maven-plugin.version>
 	</properties>
 
 	<dependencyManagement>
@@ -97,6 +97,7 @@
 		<dependency>
 			<groupId>de.ozgcloud.common</groupId>
 			<artifactId>ozgcloud-common-test</artifactId>
+			<scope>test</scope>
 		</dependency>
 		<dependency>
 			<groupId>de.ozgcloud.common</groupId>
@@ -210,8 +211,6 @@
 					<artifactId>spring-boot-maven-plugin</artifactId>
 					<configuration>
 						<image>
-							<!-- cann be removed when using spring-boot 3.2-->
-							<builder>paketobuildpacks/builder-jammy-base</builder>
 							<env>
 								<BPE_DELIM_JAVA_TOOL_OPTIONS xml:space="preserve"> </BPE_DELIM_JAVA_TOOL_OPTIONS>
 								<BPE_APPEND_JAVA_TOOL_OPTIONS>-Dfile.encoding=UTF-8</BPE_APPEND_JAVA_TOOL_OPTIONS>
@@ -274,8 +273,9 @@
 					</executions>
 				</plugin>
 				<plugin>
-					<groupId>pl.project13.maven</groupId>
-					<artifactId>git-commit-id-plugin</artifactId>
+					<groupId>io.github.git-commit-id</groupId>
+					<artifactId>git-commit-id-maven-plugin</artifactId>
+					<version>${git-commit-id-maven-plugin.version}</version>
 					<configuration>
 						<offline>true</offline>
 					</configuration>
@@ -338,13 +338,13 @@
 				</plugin>
 			</plugins>
 		</pluginManagement>
-		
+
 		<plugins>
 			<plugin>
 				<groupId>org.openrewrite.maven</groupId>
 				<artifactId>rewrite-maven-plugin</artifactId>
 				<version>${rewrite.plugin.version}</version>
-		    </plugin>
+			</plugin>
 		</plugins>
 	</build>
 
diff --git a/ozgcloud-common-pdf/pom.xml b/ozgcloud-common-pdf/pom.xml
index 9675ee26bbaaa73baa6018bb32739c497fa406bf..645f1a94be7909c306965bde0b0a7b480ed91380 100644
--- a/ozgcloud-common-pdf/pom.xml
+++ b/ozgcloud-common-pdf/pom.xml
@@ -23,34 +23,23 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
+
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
-		<artifactId>ozgcloud-common</artifactId>
-		<version>3.0.2-SNAPSHOT</version>
+		<artifactId>ozgcloud-common-dependencies</artifactId>
+		<version>4.2.0-SNAPSHOT</version>
+		<relativePath>../ozgcloud-common-dependencies</relativePath>
 	</parent>
 	<artifactId>ozgcloud-common-pdf</artifactId>
 	<name>OzgCloud Common - PDF Export library</name>
 
 	<properties>
-		<!-- TODO move to ozgcloud-common-dependencies -->
-		<jakarta.cdi-api.version>4.0.1</jakarta.cdi-api.version>
-		<fop.version>2.7</fop.version>
+		<fop.version>2.9</fop.version>
 	</properties>
 
-	<dependencyManagement>
-		<dependencies>
-			<dependency>
-				<groupId>de.ozgcloud.common</groupId>
-				<artifactId>ozgcloud-common-dependencies</artifactId>
-				<version>${ozgcloud-common.version}</version>
-				<type>pom</type>
-				<scope>import</scope>
-			</dependency>
-		</dependencies>
-	</dependencyManagement>
-
 	<dependencies>
 		<dependency>
 			<groupId>de.ozgcloud.common</groupId>
@@ -61,7 +50,6 @@
 		<dependency>
 			<groupId>jakarta.enterprise</groupId>
 			<artifactId>jakarta.enterprise.cdi-api</artifactId>
-			<version>${jakarta.cdi-api.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework</groupId>
@@ -89,7 +77,7 @@
 			<groupId>org.glassfish.jaxb</groupId>
 			<artifactId>jaxb-runtime</artifactId>
 		</dependency>
-	
+
 		<!-- dev tools -->
 		<dependency>
 			<groupId>org.projectlombok</groupId>
diff --git a/ozgcloud-common-test/pom.xml b/ozgcloud-common-test/pom.xml
index 9f730181e5f45e697767e707cd2ccacc7b83a5ef..bb28530e707a79f24307f08633d20609969e3fa9 100644
--- a/ozgcloud-common-test/pom.xml
+++ b/ozgcloud-common-test/pom.xml
@@ -30,7 +30,7 @@
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
 		<artifactId>ozgcloud-common-dependencies</artifactId>
-		<version>3.0.2-SNAPSHOT</version>
+		<version>4.2.0-SNAPSHOT</version>
 		<relativePath>../ozgcloud-common-dependencies</relativePath>
 	</parent>
 
diff --git a/pom.xml b/pom.xml
index 9a5f24939375e0f912d6994072b3706b0fdb4a75..97a649622c7da4efb063d0774f99ee22f3b02702 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
 
 	<groupId>de.ozgcloud.common</groupId>
 	<artifactId>ozgcloud-common</artifactId>
-	<version>3.0.2-SNAPSHOT</version>
+	<version>4.2.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<name>OzgCloud Common</name>
@@ -45,12 +45,12 @@
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-		<ozgcloud-common.version>3.0.2-SNAPSHOT</ozgcloud-common.version>
-		<ozgcloud.license.version>1.6.0</ozgcloud.license.version>
+		<ozgcloud-common.version>4.2.0-SNAPSHOT</ozgcloud-common.version>
+		<ozgcloud.license.version>1.3.0</ozgcloud.license.version>
 
-		<java.version>17</java.version>
-		<maven.compiler.target>17</maven.compiler.target>
-		<maven.compiler.source>17</maven.compiler.source>
+		<java.version>21</java.version>
+		<maven.compiler.target>${java.version}</maven.compiler.target>
+		<maven.compiler.source>${java.version}</maven.compiler.source>
 		<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
 	</properties>