This is an automated email from the ASF dual-hosted git repository.

yamer pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new 0a498880e1 [incubator-kie-issues-2204] Quarkus upgrade 3.27 and Spring 
Boot to 3.5.10 (#4178)
0a498880e1 is described below

commit 0a498880e155af60fdee150a0109420874a1db9b
Author: Jijo Thomas K <[email protected]>
AuthorDate: Fri Feb 20 03:40:31 2026 +0530

    [incubator-kie-issues-2204] Quarkus upgrade 3.27 and Spring Boot to 3.5.10 
(#4178)
    
    * Quarkus upgrade 3.27 and Spring Boot to 3.5.10
    
    * fix for adding beanpostprocessor in userTask as well
    
    * removed comments as per review comments
    
    * added dependencies for jpa
    
    * [Fix apache/incubator-kie-issues#2254] Sorting live reload test (#2)
    
    ---------
    
    Co-authored-by: Francisco Javier Tirado Sarti 
<[email protected]>
---
 .../jpa/mapper/TaskInputsEntityMapper.java         |  1 -
 .../jpa/mapper/TaskMetadataEntityMapper.java       |  2 +-
 .../jpa/mapper/TaskOutputsEntityMapper.java        |  2 +-
 addons/common/persistence/postgresql/pom.xml       | 11 +--
 kogito-build/kogito-build-no-bom-parent/pom.xml    |  4 +-
 kogito-build/kogito-dependencies-bom/pom.xml       | 97 +++++++++++----------
 .../executor/MockKafkaEventEmitterFactory.java     |  3 +-
 .../executor/MockKafkaEventEmitterFactory.java     |  3 +-
 .../workflow/asyncapi/AsyncAPIInfoConverter.java   | 58 ++++++++++---
 quarkus/addons/events/rules/deployment/pom.xml     |  4 -
 .../quarkus/KieQuarkusFlywayNamedModuleConfig.java |  2 -
 quarkus/addons/grpc/deployment/pom.xml             |  4 +
 quarkus/addons/jwt-parser/deployment/pom.xml       |  3 -
 quarkus/addons/jwt-parser/runtime/pom.xml          |  3 -
 .../eventing/deployment/EventingConfiguration.java |  9 ++
 .../eventing/deployment/SinkConfiguration.java     |  2 -
 .../customfunctions/it/KnativeServingAddonIT.java  | 14 ++--
 .../quarkus/kubernetes/ConfigValueExpanderIT.java  |  3 +-
 .../k8s/KnativeRouteEndpointDiscoveryTest.java     |  6 +-
 .../KubeDiscoveryConfigCacheUpdaterTest.java       |  4 +-
 quarkus/addons/kubernetes/test-utils/pom.xml       |  6 +-
 .../quarkus/k8s/test/utils/KubeTestUtils.java      |  8 +-
 .../utils/KubernetesMockServerTestResource.java    | 46 ++++++----
 .../utils/OpenShiftMockServerTestResource.java     | 43 ++++++++--
 quarkus/addons/opentelemetry/deployment/pom.xml    |  3 -
 quarkus/addons/opentelemetry/runtime/pom.xml       |  3 -
 .../opentelemetry/config/SonataFlowOtelConfig.java | 27 ++++++
 .../persistence/kafka/KafkaProcessInstancesIT.java |  9 ++
 .../process-instance-migration/runtime/pom.xml     |  4 -
 quarkus/addons/process-management/runtime/pom.xml  |  1 -
 quarkus/addons/rest-exception-handler/pom.xml      |  1 -
 .../quarkus/deployment/KogitoBuildTimeConfig.java  | 12 +--
 .../KogitoDevServicesBuildTimeConfig.java          | 28 +++----
 .../deployment/KogitoDevServicesProcessor.java     | 19 +++--
 quarkus/bom/pom.xml                                |  4 +-
 .../quarkus/config/KogitoAuthRuntimeConfig.java    |  2 -
 .../config/KogitoEventingRuntimeConfig.java        |  2 -
 .../ServerlessWorkflowAssetsProcessor.java         | 18 ++++
 .../src/main/resources/specs/asyncAPI.yaml         | 45 ++++++----
 .../livereload/LiveReloadProcessorTest.java        | 36 ++++++--
 .../src/main/resources/specs/asyncAPI.yaml         | 45 ++++++----
 .../src/main/resources/specs/callbackResults.yaml  | 98 ++++++++++++++--------
 .../KogitoServerlessWorkflowBuildTimeConfig.java   |  2 -
 .../config/KogitoDevServicesBuildTimeConfig.java   |  2 -
 .../config/KogitoPersistenceBuildTimeConfig.java   |  2 -
 .../config/KogitoPersistenceRuntimeConfig.java     |  2 -
 .../addons/jbpm-usertask-storage-jpa/pom.xml       |  4 +
 .../SpringBootUserTaskJPAAutoConfiguration.java    | 16 ++++
 springboot/bom/pom.xml                             |  6 +-
 .../pom.xml                                        |  2 +-
 50 files changed, 472 insertions(+), 259 deletions(-)

diff --git 
a/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskInputsEntityMapper.java
 
b/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskInputsEntityMapper.java
index d088af53a3..a643f51519 100644
--- 
a/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskInputsEntityMapper.java
+++ 
b/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskInputsEntityMapper.java
@@ -64,7 +64,6 @@ public class TaskInputsEntityMapper implements EntityMapper {
                 
inputEntity.setValue(JSONUtils.valueToString(value).getBytes(StandardCharsets.UTF_8));
                 inputEntity.setJavaType(value.getClass().getName());
             }
-            repository.persist(inputEntity);
         });
     }
 
diff --git 
a/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskMetadataEntityMapper.java
 
b/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskMetadataEntityMapper.java
index 18fa39dc2c..79f148c0c7 100644
--- 
a/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskMetadataEntityMapper.java
+++ 
b/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskMetadataEntityMapper.java
@@ -63,7 +63,7 @@ public class TaskMetadataEntityMapper implements EntityMapper 
{
                 metadataEntity.setValue(JSONUtils.valueToString(value));
                 metadataEntity.setJavaType(value.getClass().getName());
             }
-            repository.persist(metadataEntity);
+
         });
     }
 
diff --git 
a/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskOutputsEntityMapper.java
 
b/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskOutputsEntityMapper.java
index 131de03617..93fa6849e7 100644
--- 
a/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskOutputsEntityMapper.java
+++ 
b/addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/mapper/TaskOutputsEntityMapper.java
@@ -64,7 +64,7 @@ public class TaskOutputsEntityMapper implements EntityMapper {
                 
outputEntity.setValue(JSONUtils.valueToString(value).getBytes(StandardCharsets.UTF_8));
                 outputEntity.setJavaType(value.getClass().getName());
             }
-            repository.persist(outputEntity);
+
         });
     }
 
diff --git a/addons/common/persistence/postgresql/pom.xml 
b/addons/common/persistence/postgresql/pom.xml
index f486ea71f8..8b29f04f58 100644
--- a/addons/common/persistence/postgresql/pom.xml
+++ b/addons/common/persistence/postgresql/pom.xml
@@ -53,6 +53,12 @@
       <groupId>io.vertx</groupId>
       <artifactId>vertx-pg-client</artifactId>
     </dependency>
+    <!-- Required at runtime for SASL authentication; Vert.x declares it as 
optional -->
+    <dependency>
+      <groupId>com.ongres.scram</groupId>
+      <artifactId>scram-client</artifactId>
+      <scope>runtime</scope>
+    </dependency>
 
     <!-- test dependencies -->
     <dependency>
@@ -101,11 +107,6 @@
       <artifactId>logback-classic</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-       <groupId>com.ongres.scram</groupId>
-       <artifactId>client</artifactId>
-       <scope>test</scope>
-    </dependency>
   </dependencies>
 
   <build>
diff --git a/kogito-build/kogito-build-no-bom-parent/pom.xml 
b/kogito-build/kogito-build-no-bom-parent/pom.xml
index 9e81c2024c..4cb8a0ccba 100644
--- a/kogito-build/kogito-build-no-bom-parent/pom.xml
+++ b/kogito-build/kogito-build-no-bom-parent/pom.xml
@@ -106,14 +106,12 @@
     <version.rpkgtests.maven.plugin>1.0.0</version.rpkgtests.maven.plugin>
     <version.resources.plugin>3.1.0</version.resources.plugin>
     <version.site.plugin>3.7.1</version.site.plugin>
-    <version.shade.plugin>3.0.0</version.shade.plugin>
+    <version.shade.plugin>3.3.0</version.shade.plugin>
     <version.sonar.plugin>3.6.1.1688</version.sonar.plugin>
     <version.source.plugin>3.2.1</version.source.plugin>
     <version.surefire.plugin>3.3.1</version.surefire.plugin> <!-- minimum 
required by JUnit 5 -->
     <version.surefire.report.plugin>3.1.2</version.surefire.report.plugin>
     <version.taglist.plugin>2.4</version.taglist.plugin>
-    <!-- Versions plugin should stay on version 2.5
-      until https://github.com/mojohaus/versions-maven-plugin/issues/312 is 
fixed -->
     <version.versions.plugin>2.5</version.versions.plugin>
     
<version.org.jsonschema2pojo-maven-plugin>1.0.1</version.org.jsonschema2pojo-maven-plugin>
     
<version.org.codehaus.gmavenplus.plugin>1.5</version.org.codehaus.gmavenplus.plugin>
diff --git a/kogito-build/kogito-dependencies-bom/pom.xml 
b/kogito-build/kogito-dependencies-bom/pom.xml
index 90768e859f..0093d461ee 100644
--- a/kogito-build/kogito-dependencies-bom/pom.xml
+++ b/kogito-build/kogito-dependencies-bom/pom.xml
@@ -40,46 +40,46 @@
     <!-- End of various transitive overrides. -->
 
     <!-- this version property is used in plugins but also in dependencies too 
-->
-    <version.io.quarkus>3.20.3</version.io.quarkus>
+    <version.io.quarkus>3.27.2</version.io.quarkus>
     
<version.io.quarkus.quarkus-test>${version.io.quarkus}</version.io.quarkus.quarkus-test>
-    <version.org.springframework>6.2.12</version.org.springframework>
-    <version.org.springframework.boot>3.4.11</version.org.springframework.boot>
-    <version.org.apache.kafka>3.9.1</version.org.apache.kafka>
+    <version.org.springframework>6.2.15</version.org.springframework>
+    <version.org.springframework.boot>3.5.10</version.org.springframework.boot>
+    <version.org.apache.kafka>4.0.0</version.org.apache.kafka>
 
-    
<version.org.bouncycastle.bc.jdk18on>1.81</version.org.bouncycastle.bc.jdk18on>
+    
<version.org.bouncycastle.bc.jdk18on>1.82</version.org.bouncycastle.bc.jdk18on>
 
     <!-- dependencies versions -->
     <version.com.networknt>1.0.86</version.com.networknt>
-    <version.com.fasterxml.jackson>2.18.4</version.com.fasterxml.jackson>
-    
<version.com.fasterxml.jackson.databind>2.18.4</version.com.fasterxml.jackson.databind>
+    <version.com.fasterxml.jackson>2.19.2</version.com.fasterxml.jackson>
+    
<version.com.fasterxml.jackson.databind>2.19.2</version.com.fasterxml.jackson.databind>
     <version.com.jayway.jsonpath>2.9.0</version.com.jayway.jsonpath>
-    <version.com.ongres.scram>2.1</version.com.ongres.scram>
+    <version.com.ongres.scram>3.2</version.com.ongres.scram>
     <version.net.minidev.jsonsmart>2.4.10</version.net.minidev.jsonsmart>
     
<version.net.thisptr.jackson-jq>1.0.0-preview.20240207</version.net.thisptr.jackson-jq>
-    
<version.io.quarkiverse.jackson-jq>2.2.0</version.io.quarkiverse.jackson-jq>
+    
<version.io.quarkiverse.jackson-jq>2.4.0</version.io.quarkiverse.jackson-jq>
     
<version.io.quarkiverse.openapi.generator>2.11.0-lts</version.io.quarkiverse.openapi.generator>
-    <version.io.quarkiverse.asyncapi>0.3.0</version.io.quarkiverse.asyncapi>
+    <version.io.quarkiverse.asyncapi>1.0.5</version.io.quarkiverse.asyncapi>
     
<version.io.quarkiverse.reactivemessaging.http>2.5.0-lts</version.io.quarkiverse.reactivemessaging.http>
     
<version.io.quarkiverse.embedded.postgresql>0.7.2</version.io.quarkiverse.embedded.postgresql>
     
<version.com.github.haifengl.smile>1.5.2</version.com.github.haifengl.smile>
-    <version.com.github.javaparser>3.26.4</version.com.github.javaparser>
-    
<version.com.fasterxml.jackson.datatype>2.18.2</version.com.fasterxml.jackson.datatype>
+    <version.com.github.javaparser>3.27.0</version.com.github.javaparser>
+    
<version.com.fasterxml.jackson.datatype>2.19.2</version.com.fasterxml.jackson.datatype>
     <version.com.github.victools>4.37.0</version.com.github.victools>
     <version.org.wiremock>3.13.0</version.org.wiremock>
     <version.com.google.protobuf>3.25.5</version.com.google.protobuf>
     <!-- We don't use gson directly. This is just to align versions of 
transitive dependencies -->
-    <version.com.google.gson>2.10.1</version.com.google.gson>
+    <version.com.google.gson>2.13.2</version.com.google.gson>
     <!-- currently required for integration test only -->
     <version.com.sun.xml.bind.core>4.0.5</version.com.sun.xml.bind.core>
-    <version.com.sun.activation>2.0.1</version.com.sun.activation>
+    <version.com.sun.activation>2.0.2</version.com.sun.activation>
     <version.javax.inject>2.0.1</version.javax.inject>
     
<version.org.eclipse.microprofile.openapi>4.0.2</version.org.eclipse.microprofile.openapi>
     <version.ch.qos.logback>1.5.25</version.ch.qos.logback>
-    <version.jakarta.annotation-api>2.1.1</version.jakarta.annotation-api>
-    <version.jakarta.validation-api>3.0.2</version.jakarta.validation-api>
+    <version.jakarta.annotation-api>3.0.0</version.jakarta.annotation-api>
+    <version.jakarta.validation-api>3.1.1</version.jakarta.validation-api>
     <version.jakarta.xml.bind-api>4.0.4</version.jakarta.xml.bind-api>
 
-    <version.io.netty>4.1.128.Final</version.io.netty>
+    <version.io.netty>4.1.130.Final</version.io.netty>
 
     <version.io.cloudevents>3.0.0</version.io.cloudevents>
     <!--
@@ -87,31 +87,30 @@
     Don't add as a management dependency because it will break SpringBoot and 
Quarkus
     Kubernetes addons since they use a different version.
     -->
-    
<version.io.fabric8.kubernetes-client>7.1.0</version.io.fabric8.kubernetes-client>
-    
<version.io.fabric8.openshift-mock>6.13.5</version.io.fabric8.openshift-mock>
+    
<version.io.fabric8.kubernetes-client>7.3.1</version.io.fabric8.kubernetes-client>
     <version.io.micrometer>1.14.12</version.io.micrometer>
     <version.org.flywaydb>11.14.1</version.org.flywaydb>
     <version.org.postgresql>42.7.8</version.org.postgresql>
     <version.com.h2>2.3.232</version.com.h2> <!-- Overriding version 2.3.230 
to fix https://github.com/h2database/h2database/issues/4079 -->
     <version.io.serverlessworkflow>4.1.0.Final</version.io.serverlessworkflow>
     <version.io.smallrye-open-api>4.0.12</version.io.smallrye-open-api>
-    <version.io.smallrye-config>3.11.4</version.io.smallrye-config>
-    <version.org.awaitility>4.2.2</version.org.awaitility>
+    <version.io.smallrye-config>3.13.4</version.io.smallrye-config>
+    <version.org.awaitility>4.3.0</version.org.awaitility>
 
     <version.com.squareup.okhttp3>4.12.0</version.com.squareup.okhttp3>
 
-    
<version.io.smallrye.reactive.mutiny-vertx-web-client>3.18.1</version.io.smallrye.reactive.mutiny-vertx-web-client>
+    
<version.io.smallrye.reactive.mutiny-vertx-web-client>3.21.3</version.io.smallrye.reactive.mutiny-vertx-web-client>
 
-    <version.io.vertx>4.5.22</version.io.vertx>
+    <version.io.vertx>4.5.23</version.io.vertx>
     <version.io.grpc>1.76.0</version.io.grpc>
 
-    <version.io.quarkus.camel>3.20.2</version.io.quarkus.camel>
+    <version.io.quarkus.camel>3.27.2</version.io.quarkus.camel>
 
     <version.io.swagger.parser.v3>2.1.34</version.io.swagger.parser.v3>
     <version.io.swagger.core.v3>2.2.38</version.io.swagger.core.v3>
 
     <version.org.apache.commons>3.18.0</version.org.apache.commons>
-    <version.commons.io>2.19.0</version.commons.io>
+    <version.commons.io>2.20.0</version.commons.io>
 
     <version.org.graalvm.nativeimage>23.1.2</version.org.graalvm.nativeimage>
 
@@ -121,7 +120,7 @@
     <version.org.rocksdb>7.10.2</version.org.rocksdb>
     <!-- consider migrating to 3.x JDK 9: 
https://jakarta.ee/specifications/restful-ws/ -->
     <version.jakarta.ws.rs>3.1.0</version.jakarta.ws.rs>
-    <version.jakarta.persistence-api>3.1.0</version.jakarta.persistence-api>
+    <version.jakarta.persistence-api>3.2.0</version.jakarta.persistence-api>
 
     <version.org.jboss.resteasy>6.2.12.Final</version.org.jboss.resteasy>
     <version.org.keycloak>26.1.0</version.org.keycloak>
@@ -131,31 +130,32 @@
     <version.org.mongo-image>5.0.31</version.org.mongo-image>
     <version.org.mozilla.rhino>1.8.1</version.org.mozilla.rhino>
     <version.org.redis>2.0.4</version.org.redis>
-    <version.org.postgres>15.9-alpine3.20</version.org.postgres>
+    <!-- PostgreSQL 16.8+ required for SASL authentication protocol -->
+    <version.org.postgres>16.8-alpine3.21</version.org.postgres>
     <!-- we align to version used by quarkus -->
-    <version.org.apache.avro>1.12.0</version.org.apache.avro>
+    <version.org.apache.avro>1.12.1</version.org.apache.avro>
     <version.org.assertj>3.27.7</version.org.assertj>
     <version.org.glassfish.jaxb>4.0.6</version.org.glassfish.jaxb>
     <version.org.json-unit-assertj>2.9.0</version.org.json-unit-assertj>
     <version.org.hamcrest>2.2</version.org.hamcrest> <!-- else old version 
coming from Mockito wins and breaks tests -->
     <version.org.junit>4.13.2</version.org.junit>
-    <version.org.junit.jupiter>5.12.2</version.org.junit.jupiter>
-    <version.org.junit.platform>1.12.2</version.org.junit.platform><!-- 
otherwise Quarkus brings its own, silently disabling some tests -->
-    <version.org.mockito>5.17.0</version.org.mockito>
+    <version.org.junit.jupiter>5.13.4</version.org.junit.jupiter>
+    <version.org.junit.platform>1.13.4</version.org.junit.platform><!-- 
otherwise Quarkus brings its own, silently disabling some tests -->
+    <version.org.mockito>5.18.0</version.org.mockito>
     <version.org.testcontainers>2.0.3</version.org.testcontainers>
     <version.org.xmlunit-core>2.10.4</version.org.xmlunit-core>
     <version.io.rest-assured>5.5.6</version.io.rest-assured>
 
-    <version.net.byte-buddy>1.15.11</version.net.byte-buddy>
+    <version.net.byte-buddy>1.17.6</version.net.byte-buddy>
 
     <version.org.mvel>2.5.2.Final</version.org.mvel>
     <version.org.reactivestreams>1.0.4</version.org.reactivestreams>
     <version.org.reflections>0.10.2</version.org.reflections>
-    <version.org.slf4j>2.0.6</version.org.slf4j>
+    <version.org.slf4j>2.0.17</version.org.slf4j>
 
     <version.maven>3.9.11</version.maven>
     <version.maven.project>2.2.1</version.maven.project>
-    <version.maven.plugin>3.7.1</version.maven.plugin>
+    <version.maven.plugin>3.15.1</version.maven.plugin>
     <version.maven.invoker>3.2.0</version.maven.invoker>
     
<version.maven.plugin.testing.harness>4.0.0-alpha-2</version.maven.plugin.testing.harness>
     <version.plexus>2.1.0</version.plexus>
@@ -165,11 +165,13 @@
     <version.com.github.stephenc.jcip>1.0-1</version.com.github.stephenc.jcip>
     <version.black.ninia>4.2.0</version.black.ninia>
     <version.com.google.collections>1.0</version.com.google.collections>
-    <version.com.google.guava>33.0.0-jre</version.com.google.guava>
-    
<version.apache.commons.commons-compress>1.27.1</version.apache.commons.commons-compress>
+    <version.com.google.guava>33.4.8-jre</version.com.google.guava>
+    
<version.apache.commons.commons-compress>1.28.0</version.apache.commons.commons-compress>
 
     <version.tomcat.embed.core>10.1.48</version.tomcat.embed.core>
-    <version.org.lz4.java>1.8.1</version.org.lz4.java>
+    <version.at.yawk.lz4.java>1.10.1</version.at.yawk.lz4.java> <!-- Upgraded 
for CVE fix (The library has moved from org.lz4:lz4-java to 
at.yawk.lz4:lz4-java )-->
+    <version.org.hibernate>7.1.14.Final</version.org.hibernate>
+  
   </properties>
 
   <dependencyManagement>
@@ -182,9 +184,9 @@
         <version>${version.angus.mail}</version>
       </dependency>
       <dependency>
-        <groupId>org.lz4</groupId>
+        <groupId>at.yawk.lz4</groupId>
         <artifactId>lz4-java</artifactId>
-        <version>${version.org.lz4.java}</version>
+        <version>${version.at.yawk.lz4.java}</version>
       </dependency>
       <!-- End of various transitive overrides. -->
 
@@ -827,13 +829,6 @@
         <version>${version.io.fabric8.kubernetes-client}</version>
       </dependency>
 
-      <!-- fabric8 - openshift mock server -->
-      <dependency>
-        <groupId>io.fabric8</groupId>
-        <artifactId>openshift-server-mock</artifactId>
-        <version>${version.io.fabric8.openshift-mock}</version>
-      </dependency>
-
       <dependency>
         <groupId>org.junit.jupiter</groupId>
         <artifactId>junit-jupiter-api</artifactId>
@@ -978,11 +973,11 @@
         <version>${version.org.wiremock}</version>
         <scope>test</scope>
       </dependency>
+      <!-- SCRAM authentication for PostgreSQL 16+; required by Vert.x 
reactive pg-client -->
       <dependency>
         <groupId>com.ongres.scram</groupId>
-        <artifactId>client</artifactId>
+        <artifactId>scram-client</artifactId>
         <version>${version.com.ongres.scram}</version>
-        <scope>test</scope>
       </dependency>
 
       <dependency>
@@ -1356,7 +1351,11 @@
         <artifactId>testcontainers-toxiproxy</artifactId>
         <version>${version.org.testcontainers}</version>
       </dependency>
-
+      <dependency>
+        <groupId>org.hibernate.orm</groupId>
+        <artifactId>hibernate-core</artifactId>
+        <version>${version.org.hibernate}</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
diff --git 
a/kogito-serverless-workflow/kogito-serverless-workflow-executor-kafka/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
 
b/kogito-serverless-workflow/kogito-serverless-workflow-executor-kafka/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
index dff90d95cc..9858217b8c 100644
--- 
a/kogito-serverless-workflow/kogito-serverless-workflow-executor-kafka/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
+++ 
b/kogito-serverless-workflow/kogito-serverless-workflow-executor-kafka/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
@@ -28,7 +28,8 @@ import io.cloudevents.kafka.CloudEventSerializer;
 
 public class MockKafkaEventEmitterFactory extends KafkaEventEmitterFactory {
 
-    public static MockProducer<byte[], CloudEvent> producer = new 
MockProducer<>(true, new ByteArraySerializer(), new CloudEventSerializer() {
+    // null partitioner uses default partitioning; ByteArraySerializer is used 
for keys and CloudEventSerializer for values
+    public static MockProducer<byte[], CloudEvent> producer = new 
MockProducer<>(true, null, new ByteArraySerializer(), new 
CloudEventSerializer() {
         @Override
         public byte[] serialize(String topic, CloudEvent data) {
             return super.serialize(topic, new RecordHeaders(), data);
diff --git 
a/kogito-serverless-workflow/kogito-serverless-workflow-executor-tests/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
 
b/kogito-serverless-workflow/kogito-serverless-workflow-executor-tests/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
index dff90d95cc..9858217b8c 100644
--- 
a/kogito-serverless-workflow/kogito-serverless-workflow-executor-tests/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
+++ 
b/kogito-serverless-workflow/kogito-serverless-workflow-executor-tests/src/test/java/org/kie/kogito/serverless/workflow/executor/MockKafkaEventEmitterFactory.java
@@ -28,7 +28,8 @@ import io.cloudevents.kafka.CloudEventSerializer;
 
 public class MockKafkaEventEmitterFactory extends KafkaEventEmitterFactory {
 
-    public static MockProducer<byte[], CloudEvent> producer = new 
MockProducer<>(true, new ByteArraySerializer(), new CloudEventSerializer() {
+    // null partitioner uses default partitioning; ByteArraySerializer is used 
for keys and CloudEventSerializer for values
+    public static MockProducer<byte[], CloudEvent> producer = new 
MockProducer<>(true, null, new ByteArraySerializer(), new 
CloudEventSerializer() {
         @Override
         public byte[] serialize(String topic, CloudEvent data) {
             return super.serialize(topic, new RecordHeaders(), data);
diff --git 
a/quarkus/addons/asyncapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncAPIInfoConverter.java
 
b/quarkus/addons/asyncapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncAPIInfoConverter.java
index 8a7edf8736..9862419147 100644
--- 
a/quarkus/addons/asyncapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncAPIInfoConverter.java
+++ 
b/quarkus/addons/asyncapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncAPIInfoConverter.java
@@ -27,9 +27,10 @@ import 
org.kie.kogito.serverless.workflow.asyncapi.AsyncChannelInfo;
 import org.kie.kogito.serverless.workflow.asyncapi.AsyncInfo;
 import org.kie.kogito.serverless.workflow.asyncapi.AsyncInfoConverter;
 
-import com.asyncapi.v2._6_0.model.AsyncAPI;
-import com.asyncapi.v2._6_0.model.channel.ChannelItem;
-import com.asyncapi.v2._6_0.model.channel.operation.Operation;
+import com.asyncapi.v3._0_0.model.AsyncAPI;
+import com.asyncapi.v3._0_0.model.channel.Channel;
+import com.asyncapi.v3._0_0.model.operation.Operation;
+import com.asyncapi.v3._0_0.model.operation.OperationAction;
 
 import io.quarkiverse.asyncapi.config.AsyncAPIRegistry;
 
@@ -47,20 +48,51 @@ public class AsyncAPIInfoConverter implements 
AsyncInfoConverter {
     }
 
     private static AsyncInfo from(AsyncAPI asyncApi) {
-        Map<String, AsyncChannelInfo> map = new HashMap<>();
-        for (Entry<String, ChannelItem> entry : 
asyncApi.getChannels().entrySet()) {
-            addChannel(map, entry.getValue().getPublish(), entry.getKey() + 
"_out", true);
-            addChannel(map, entry.getValue().getSubscribe(), entry.getKey(), 
false);
+        Map<String, String> channelIdToAddress = 
buildChannelAddressMap(asyncApi);
+        Map<String, AsyncChannelInfo> channelInfoByOperationId = 
buildOperationChannelInfoMap(asyncApi, channelIdToAddress);
+        return new AsyncInfo(channelInfoByOperationId);
+    }
+
+    /**
+     * Builds a mapping from channel ID to its address from the AsyncAPI 
channels.
+     */
+    private static Map<String, String> buildChannelAddressMap(AsyncAPI 
asyncApi) {
+        Map<String, String> channelIdToAddress = new HashMap<>();
+        if (asyncApi.getChannels() != null) {
+            for (Entry<String, Object> ch : asyncApi.getChannels().entrySet()) 
{
+                if (ch.getValue() instanceof Channel channel) {
+                    String channelId = ch.getKey();
+                    String address = 
Optional.ofNullable(channel.getAddress()).orElse(channelId);
+                    channelIdToAddress.put(channelId, address);
+                }
+            }
         }
-        return new AsyncInfo(map);
+        return channelIdToAddress;
     }
 
-    private static void addChannel(Map<String, AsyncChannelInfo> map, 
Operation operation, String channelName, boolean publish) {
-        if (operation != null) {
-            String operationId = operation.getOperationId();
-            if (operationId != null) {
-                map.putIfAbsent(operationId, new AsyncChannelInfo(channelName, 
publish));
+    /**
+     * Builds a mapping from operation ID to {@link AsyncChannelInfo} by 
resolving channel references.
+     */
+    private static Map<String, AsyncChannelInfo> 
buildOperationChannelInfoMap(AsyncAPI asyncApi, Map<String, String> 
channelIdToAddress) {
+        Map<String, AsyncChannelInfo> channelInfoByOperationId = new 
HashMap<>();
+        if (asyncApi.getOperations() != null) {
+            for (Entry<String, Object> opEntry : 
asyncApi.getOperations().entrySet()) {
+                if (opEntry.getValue() instanceof Operation op && 
op.getChannel() != null) {
+                    String operationId = opEntry.getKey();
+                    String ref = op.getChannel().getRef();
+                    if (ref != null && ref.contains("/")) {
+                        String channelId = ref.substring(ref.lastIndexOf('/') 
+ 1);
+                        String address = channelIdToAddress.get(channelId);
+                        OperationAction action = op.getAction();
+                        if (address != null && action != null) {
+                            boolean publish = action == OperationAction.SEND;
+                            String channelName = publish ? address + "_out" : 
address;
+                            channelInfoByOperationId.putIfAbsent(operationId, 
new AsyncChannelInfo(channelName, publish));
+                        }
+                    }
+                }
             }
         }
+        return channelInfoByOperationId;
     }
 }
diff --git a/quarkus/addons/events/rules/deployment/pom.xml 
b/quarkus/addons/events/rules/deployment/pom.xml
index 6d77c9ddf5..849cba7327 100644
--- a/quarkus/addons/events/rules/deployment/pom.xml
+++ b/quarkus/addons/events/rules/deployment/pom.xml
@@ -57,10 +57,6 @@
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-smallrye-health-deployment</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-jackson-deployment</artifactId>
-    </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-vertx-http-deployment</artifactId>
diff --git 
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieQuarkusFlywayNamedModuleConfig.java
 
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieQuarkusFlywayNamedModuleConfig.java
index 81e6bd3e4c..bac51520f6 100644
--- 
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieQuarkusFlywayNamedModuleConfig.java
+++ 
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieQuarkusFlywayNamedModuleConfig.java
@@ -19,10 +19,8 @@
 
 package org.kie.flyway.quarkus;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 
-@ConfigGroup
 public interface KieQuarkusFlywayNamedModuleConfig {
 
     /**
diff --git a/quarkus/addons/grpc/deployment/pom.xml 
b/quarkus/addons/grpc/deployment/pom.xml
index 159e4a7233..4317e682f4 100644
--- a/quarkus/addons/grpc/deployment/pom.xml
+++ b/quarkus/addons/grpc/deployment/pom.xml
@@ -58,6 +58,10 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-grpc-deployment</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-devtools-utilities</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.kie.kogito</groupId>
diff --git a/quarkus/addons/jwt-parser/deployment/pom.xml 
b/quarkus/addons/jwt-parser/deployment/pom.xml
index 4eb8692b94..bf208330d4 100644
--- a/quarkus/addons/jwt-parser/deployment/pom.xml
+++ b/quarkus/addons/jwt-parser/deployment/pom.xml
@@ -64,9 +64,6 @@
               <version>${version.io.quarkus}</version>
             </path>
           </annotationProcessorPaths>
-          <compilerArgs>
-            <arg>-AlegacyConfigRoot=true</arg>
-          </compilerArgs>
         </configuration>
       </plugin>
     </plugins>
diff --git a/quarkus/addons/jwt-parser/runtime/pom.xml 
b/quarkus/addons/jwt-parser/runtime/pom.xml
index 4da4898d02..966b4a3b3a 100644
--- a/quarkus/addons/jwt-parser/runtime/pom.xml
+++ b/quarkus/addons/jwt-parser/runtime/pom.xml
@@ -86,9 +86,6 @@
               <version>${version.io.quarkus}</version>
             </path>
           </annotationProcessorPaths>
-          <compilerArgs>
-            <arg>-AlegacyConfigRoot=true</arg>
-          </compilerArgs>
         </configuration>
       </plugin>
     </plugins>
diff --git 
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
 
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
index 22102a9150..de5cc377f9 100644
--- 
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
+++ 
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/EventingConfiguration.java
@@ -47,6 +47,15 @@ public interface EventingConfiguration {
     @WithDefault("true")
     Boolean autoGenerateBroker();
 
+    /**
+     * Configuration for the Knative Sink used by this Kogito service.
+     * <p>
+     * The Sink configuration defines the target Knative resource (Broker, 
Channel, or Service) where events
+     * will be sent. This is used to configure the "sink" property in the 
generated Knative SinkBinding.
+     * <p>
+     * Use the nested properties under 
`org.kie.kogito.addons.knative.eventing.sink.*` to customize
+     * the sink's namespace, API version, name, and kind.
+     */
     @WithName("sink")
     SinkConfiguration sinkConfig();
 }
diff --git 
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
 
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
index b1151b21ce..79410b2a24 100644
--- 
a/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
+++ 
b/quarkus/addons/knative/eventing/deployment/src/main/java/org/kie/kogito/addons/quarkus/knative/eventing/deployment/SinkConfiguration.java
@@ -20,10 +20,8 @@ package 
org.kie.kogito.addons.quarkus.knative.eventing.deployment;
 
 import java.util.Optional;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 
-@ConfigGroup
 public interface SinkConfiguration {
 
     String DEFAULT_SINK_API_VERSION = "eventing.knative.dev/v1";
diff --git 
a/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
 
b/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
index d908ec863d..56a3832a9a 100644
--- 
a/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
+++ 
b/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
@@ -25,16 +25,16 @@ import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import 
org.kie.kogito.addons.quarkus.k8s.test.utils.KubernetesMockServerTestResource;
 
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.github.tomakehurst.wiremock.WireMockServer;
 import com.github.tomakehurst.wiremock.client.WireMock;
 import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
 
-import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
+import io.fabric8.kubernetes.client.KubernetesClient;
+import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.kubernetes.client.KubernetesTestServer;
-import io.quarkus.test.kubernetes.client.WithKubernetesTestServer;
 import io.restassured.http.ContentType;
 
 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
@@ -52,7 +52,7 @@ import static 
org.kie.kogito.addons.quarkus.k8s.test.utils.KubeTestUtils.createK
 import static 
org.kie.kogito.addons.quarkus.knative.serving.customfunctions.KnativeWorkItemHandler.APPLICATION_CLOUDEVENTS_JSON_CHARSET_UTF_8;
 
 @QuarkusTest
-@WithKubernetesTestServer
+@QuarkusTestResource(KubernetesMockServerTestResource.class)
 class KnativeServingAddonIT {
 
     public static final String AT_LEAST_ONE_NON_WHITE_CHARACTER_REGEX = 
".*\\S.*";
@@ -66,8 +66,8 @@ class KnativeServingAddonIT {
     @ConfigProperty(name = "kogito.sw.functions.greet_with_timeout.timeout")
     Long requestTimeout;
 
-    @KubernetesTestServer
-    KubernetesServer mockServer;
+    @jakarta.inject.Inject
+    KubernetesClient kubernetesClient;
 
     @BeforeAll
     static void beforeAll() {
@@ -89,7 +89,7 @@ class KnativeServingAddonIT {
 
     @BeforeEach
     void beforeEach() {
-        createKnativeServiceIfNotExists(mockServer.getClient(), 
"knative/quarkus-greeting.yaml", NAMESPACE,
+        createKnativeServiceIfNotExists(kubernetesClient, 
"knative/quarkus-greeting.yaml", NAMESPACE,
                 SERVICENAME, remoteServiceUrl);
     }
 
diff --git 
a/quarkus/addons/kubernetes/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/kubernetes/ConfigValueExpanderIT.java
 
b/quarkus/addons/kubernetes/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/kubernetes/ConfigValueExpanderIT.java
index a82716419d..2a475d65bc 100644
--- 
a/quarkus/addons/kubernetes/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/kubernetes/ConfigValueExpanderIT.java
+++ 
b/quarkus/addons/kubernetes/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/kubernetes/ConfigValueExpanderIT.java
@@ -21,7 +21,6 @@ package org.kie.kogito.addons.quarkus.kubernetes;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
 import io.quarkus.test.junit.QuarkusIntegrationTest;
 import io.quarkus.test.kubernetes.client.KubernetesTestServer;
 import io.quarkus.test.kubernetes.client.WithKubernetesTestServer;
@@ -39,7 +38,7 @@ class ConfigValueExpanderIT {
     private static final String SERVICENAME = 
"serverless-workflow-greeting-quarkus";
 
     @KubernetesTestServer
-    KubernetesServer mockServer;
+    io.quarkus.test.kubernetes.client.KubernetesServer mockServer;
 
     @BeforeEach
     void beforeEach() {
diff --git 
a/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/KnativeRouteEndpointDiscoveryTest.java
 
b/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/KnativeRouteEndpointDiscoveryTest.java
index c2ff5ad565..0cd9424496 100644
--- 
a/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/KnativeRouteEndpointDiscoveryTest.java
+++ 
b/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/KnativeRouteEndpointDiscoveryTest.java
@@ -29,14 +29,15 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.kie.kogito.addons.k8s.Endpoint;
 import org.kie.kogito.addons.k8s.KnativeRouteEndpointDiscovery;
+import 
org.kie.kogito.addons.quarkus.k8s.test.utils.KubernetesMockServerTestResource;
 
 import io.fabric8.knative.client.KnativeClient;
 import io.fabric8.knative.serving.v1.Route;
 import io.fabric8.knative.serving.v1.RouteBuilder;
 import io.fabric8.knative.serving.v1.RouteStatus;
 import io.fabric8.kubernetes.client.KubernetesClient;
+import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.kubernetes.client.WithKubernetesTestServer;
 
 import jakarta.inject.Inject;
 
@@ -45,11 +46,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
 @QuarkusTest
-@WithKubernetesTestServer
+@QuarkusTestResource(KubernetesMockServerTestResource.class)
 public class KnativeRouteEndpointDiscoveryTest {
 
     @Inject
     KubernetesClient kubernetesClient;
+
     KnativeClient knativeClient;
 
     @BeforeEach
diff --git 
a/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/config/KubeDiscoveryConfigCacheUpdaterTest.java
 
b/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/config/KubeDiscoveryConfigCacheUpdaterTest.java
index 9e8d7e7632..0aa6afa6f3 100644
--- 
a/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/config/KubeDiscoveryConfigCacheUpdaterTest.java
+++ 
b/quarkus/addons/kubernetes/runtime/src/test/java/org/kie/kogito/addons/quarkus/k8s/config/KubeDiscoveryConfigCacheUpdaterTest.java
@@ -50,7 +50,9 @@ class KubeDiscoveryConfigCacheUpdaterTest {
 
     @BeforeEach
     void beforeEach() {
-        createKnativeServiceIfNotExists(client, 
"knative/quarkus-greeting.yaml", "test", 
"serverless-workflow-greeting-quarkus", remoteServiceUrl);
+        createKnativeServiceIfNotExists(client, 
"knative/quarkus-greeting.yaml", "test",
+                "serverless-workflow-greeting-quarkus", remoteServiceUrl);
+
         kubeDiscoveryConfigCacheUpdater = new 
KubeDiscoveryConfigCacheUpdater(kubernetesServiceCatalog);
     }
 
diff --git a/quarkus/addons/kubernetes/test-utils/pom.xml 
b/quarkus/addons/kubernetes/test-utils/pom.xml
index 021303a2d8..53edd9c792 100644
--- a/quarkus/addons/kubernetes/test-utils/pom.xml
+++ b/quarkus/addons/kubernetes/test-utils/pom.xml
@@ -39,7 +39,7 @@
     <dependencies>
         <dependency>
             <groupId>io.fabric8</groupId>
-            <artifactId>openshift-server-mock</artifactId>
+            <artifactId>kubernetes-server-mock</artifactId>
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
@@ -53,6 +53,10 @@
             <groupId>io.fabric8</groupId>
             <artifactId>kubernetes-client</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.fabric8</groupId>
+            <artifactId>openshift-client</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.kie</groupId>
             <artifactId>kie-addons-kubernetes</artifactId>
diff --git 
a/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubeTestUtils.java
 
b/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubeTestUtils.java
index 1926189ab2..ce2dafe78f 100644
--- 
a/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubeTestUtils.java
+++ 
b/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubeTestUtils.java
@@ -28,6 +28,9 @@ import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.KubernetesClientException;
 import io.fabric8.kubernetes.client.dsl.Resource;
 
+/**
+ * Utility methods for Kubernetes test resources using Fabric8 CRUD-mode mock 
server.
+ */
 public final class KubeTestUtils {
 
     private KubeTestUtils() {
@@ -87,9 +90,10 @@ public final class KubeTestUtils {
     }
 
     public static void createKnativeServiceIfNotExists(KubernetesClient 
client, String yamlPath, String namespace, String serviceName, String 
remoteServiceUrl) {
-        if 
(client.services().inNamespace(namespace).withName(serviceName).get() == null) {
-            KnativeClient knativeClient = client.adapt(KnativeClient.class);
+        KnativeClient knativeClient = client.adapt(KnativeClient.class);
 
+        // Check if Knative service exists (not regular K8s service)
+        if 
(knativeClient.services().inNamespace(namespace).withName(serviceName).get() == 
null) {
             Service service = 
knativeClient.services().inNamespace(namespace).load(getResourceAsStream(yamlPath)).item();
 
             if (remoteServiceUrl != null) {
diff --git 
a/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubernetesMockServerTestResource.java
 
b/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubernetesMockServerTestResource.java
index 3474a37029..3c633280c6 100644
--- 
a/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubernetesMockServerTestResource.java
+++ 
b/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/KubernetesMockServerTestResource.java
@@ -22,7 +22,10 @@ import java.util.HashMap;
 import java.util.Map;
 
 import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
+import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.server.mock.KubernetesCrudDispatcher;
+import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer;
+import io.fabric8.mockwebserver.MockWebServer;
 import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
 
 /**
@@ -31,19 +34,24 @@ import 
io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
 public class KubernetesMockServerTestResource implements 
QuarkusTestResourceLifecycleManager {
 
     private static final String TEST_NAMESPACE = 
"serverless-workflow-greeting-quarkus";
-    private final KubernetesServer server = new KubernetesServer(false, true); 
// Use CRUD mode
+    private KubernetesMockServer server;
+    private KubernetesClient client;
+    private String previousMasterUrl;
 
     @Override
     public Map<String, String> start() {
-        try {
-            server.before(); // Start the mock Kubernetes server
-        } catch (Exception e) {
-            throw new RuntimeException("Failed to start Kubernetes mock 
server", e);
-        }
+        server = new KubernetesMockServer(
+                new io.fabric8.mockwebserver.Context(),
+                new MockWebServer(),
+                new HashMap<>(),
+                new KubernetesCrudDispatcher(),
+                false);
+        server.init();
 
-        String mockServerUrl = 
server.getClient().getConfiguration().getMasterUrl();
+        client = server.createClient();
+        String mockServerUrl = client.getConfiguration().getMasterUrl();
 
-        // Ensure the Fabric8 client picks up the mock server
+        previousMasterUrl = 
System.getProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY);
         System.setProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, 
mockServerUrl);
 
         Map<String, String> config = new HashMap<>();
@@ -55,15 +63,25 @@ public class KubernetesMockServerTestResource implements 
QuarkusTestResourceLife
 
     @Override
     public void stop() {
+        if (previousMasterUrl != null) {
+            System.setProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, 
previousMasterUrl);
+        } else {
+            System.clearProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY);
+        }
+        if (client != null) {
+            client.close();
+        }
         if (server != null) {
-            server.after(); // Stop the mock server
+            server.destroy();
+            server = null;
         }
     }
 
-    /**
-     * Expose the Fabric8 Kubernetes mock server instance for advanced use in 
tests.
-     */
-    public KubernetesServer getServer() {
+    public KubernetesMockServer getServer() {
         return server;
     }
+
+    public KubernetesClient getClient() {
+        return client;
+    }
 }
diff --git 
a/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/OpenShiftMockServerTestResource.java
 
b/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/OpenShiftMockServerTestResource.java
index cc308cffd0..cdf1d83457 100644
--- 
a/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/OpenShiftMockServerTestResource.java
+++ 
b/quarkus/addons/kubernetes/test-utils/src/main/java/org/kie/kogito/addons/quarkus/k8s/test/utils/OpenShiftMockServerTestResource.java
@@ -18,33 +18,62 @@
  */
 package org.kie.kogito.addons.quarkus.k8s.test.utils;
 
+import java.util.HashMap;
 import java.util.Map;
 
-import io.fabric8.openshift.client.server.mock.OpenShiftServer;
+import io.fabric8.kubernetes.client.KubernetesClient;
+import io.fabric8.kubernetes.client.server.mock.KubernetesCrudDispatcher;
+import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer;
+import io.fabric8.mockwebserver.MockWebServer;
+import io.fabric8.openshift.client.OpenShiftClient;
 import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
 
+/**
+ * Quarkus test resource that provides a Fabric8 Kubernetes mock server with 
OpenShift support.
+ * Uses KubernetesMockServer with CRUD mode and adapts the client to 
OpenShiftClient.
+ */
 public class OpenShiftMockServerTestResource implements 
QuarkusTestResourceLifecycleManager {
 
-    private OpenShiftServer server;
+    private KubernetesMockServer server;
+    private KubernetesClient kubernetesClient;
+    private OpenShiftClient openShiftClient;
 
     @Override
     public Map<String, String> start() {
-        server = new OpenShiftServer(true, true);
-        server.before(); // Start mock server
+        server = new KubernetesMockServer(
+                new io.fabric8.mockwebserver.Context(),
+                new MockWebServer(),
+                new HashMap<>(),
+                new KubernetesCrudDispatcher(),
+                false);
+        server.init();
+
+        kubernetesClient = server.createClient();
+        openShiftClient = kubernetesClient.adapt(OpenShiftClient.class);
 
         return Map.of(
-                "quarkus.kubernetes-client.master-url", 
server.getOpenshiftClient().getMasterUrl().toString(),
+                "quarkus.kubernetes-client.master-url", 
kubernetesClient.getConfiguration().getMasterUrl(),
                 "quarkus.kubernetes-client.trust-certs", "true");
     }
 
     @Override
     public void stop() {
+        if (openShiftClient != null) {
+            openShiftClient.close();
+        }
+        if (kubernetesClient != null) {
+            kubernetesClient.close();
+        }
         if (server != null) {
-            server.after(); // Stop mock server
+            server.destroy();
         }
     }
 
-    public OpenShiftServer getServer() {
+    public KubernetesMockServer getServer() {
         return server;
     }
+
+    public OpenShiftClient getClient() {
+        return openShiftClient;
+    }
 }
diff --git a/quarkus/addons/opentelemetry/deployment/pom.xml 
b/quarkus/addons/opentelemetry/deployment/pom.xml
index 4d47bf5cdf..4e61d8335e 100644
--- a/quarkus/addons/opentelemetry/deployment/pom.xml
+++ b/quarkus/addons/opentelemetry/deployment/pom.xml
@@ -81,9 +81,6 @@
               <version>${version.io.quarkus}</version>
             </path>
           </annotationProcessorPaths>
-          <compilerArgs>
-            <arg>-AlegacyConfigRoot=true</arg>
-          </compilerArgs>
         </configuration>
       </plugin>
     </plugins>
diff --git a/quarkus/addons/opentelemetry/runtime/pom.xml 
b/quarkus/addons/opentelemetry/runtime/pom.xml
index 17403cb8ed..ee84636310 100644
--- a/quarkus/addons/opentelemetry/runtime/pom.xml
+++ b/quarkus/addons/opentelemetry/runtime/pom.xml
@@ -143,9 +143,6 @@
               <version>${version.io.quarkus}</version>
             </path>
           </annotationProcessorPaths>
-          <compilerArgs>
-            <arg>-AlegacyConfigRoot=true</arg>
-          </compilerArgs>
         </configuration>
       </plugin>
     </plugins>
diff --git 
a/quarkus/addons/opentelemetry/runtime/src/main/java/org/kie/kogito/quarkus/serverless/workflow/opentelemetry/config/SonataFlowOtelConfig.java
 
b/quarkus/addons/opentelemetry/runtime/src/main/java/org/kie/kogito/quarkus/serverless/workflow/opentelemetry/config/SonataFlowOtelConfig.java
index 207bb0bfea..47b1406ec5 100644
--- 
a/quarkus/addons/opentelemetry/runtime/src/main/java/org/kie/kogito/quarkus/serverless/workflow/opentelemetry/config/SonataFlowOtelConfig.java
+++ 
b/quarkus/addons/opentelemetry/runtime/src/main/java/org/kie/kogito/quarkus/serverless/workflow/opentelemetry/config/SonataFlowOtelConfig.java
@@ -24,32 +24,59 @@ import io.smallrye.config.WithDefault;
 @ConfigMapping(prefix = "sonataflow.otel")
 public interface SonataFlowOtelConfig {
 
+    /**
+     * Enable or disable OpenTelemetry integration for SonataFlow
+     */
     @WithDefault("true")
     boolean enabled();
 
+    /**
+     * Service name for OpenTelemetry traces
+     */
     @WithDefault("${quarkus.application.name:kogito-workflow-service}")
     String serviceName();
 
+    /**
+     * Service version for OpenTelemetry traces
+     */
     @WithDefault("${quarkus.application.version:unknown}")
     String serviceVersion();
 
+    /**
+     * Span configuration
+     */
     SpanConfig spans();
 
+    /**
+     * Event configuration
+     */
     EventConfig events();
 
     interface SpanConfig {
+        /**
+         * Enable or disable span creation
+         */
         @WithDefault("true")
         boolean enabled();
     }
 
     interface EventConfig {
+        /**
+         * Enable or disable event tracking
+         */
         @WithDefault("true")
         boolean enabled();
     }
 
+    /**
+     * Test infrastructure configuration
+     */
     TestInfrastructureConfig testInfrastructure();
 
     interface TestInfrastructureConfig {
+        /**
+         * Enable or disable test infrastructure
+         */
         @WithDefault("false")
         boolean enabled();
     }
diff --git 
a/quarkus/addons/persistence/kafka/runtime/src/test/java/org/kie/kogito/persistence/kafka/KafkaProcessInstancesIT.java
 
b/quarkus/addons/persistence/kafka/runtime/src/test/java/org/kie/kogito/persistence/kafka/KafkaProcessInstancesIT.java
index 5fb7679903..14e35cc5f9 100644
--- 
a/quarkus/addons/persistence/kafka/runtime/src/test/java/org/kie/kogito/persistence/kafka/KafkaProcessInstancesIT.java
+++ 
b/quarkus/addons/persistence/kafka/runtime/src/test/java/org/kie/kogito/persistence/kafka/KafkaProcessInstancesIT.java
@@ -18,6 +18,9 @@
  */
 package org.kie.kogito.persistence.kafka;
 
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.time.Duration;
 import java.util.List;
 import java.util.Properties;
@@ -234,6 +237,12 @@ public class KafkaProcessInstancesIT {
         Properties properties = new Properties();
         properties.put(StreamsConfig.APPLICATION_ID_CONFIG, "kogito");
         properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, 
kafka.getBootstrapServers());
+        try {
+            Path tempDir = Files.createTempDirectory("kafka-streams-test");
+            properties.put(StreamsConfig.STATE_DIR_CONFIG, tempDir.toString());
+        } catch (IOException e) {
+            throw new RuntimeException("Failed to create temp directory for 
Kafka Streams state", e);
+        }
         return properties;
     }
 
diff --git a/quarkus/addons/process-instance-migration/runtime/pom.xml 
b/quarkus/addons/process-instance-migration/runtime/pom.xml
index 01b2e36fc2..98ae16bc13 100644
--- a/quarkus/addons/process-instance-migration/runtime/pom.xml
+++ b/quarkus/addons/process-instance-migration/runtime/pom.xml
@@ -84,7 +84,6 @@
       <groupId>jakarta.xml.bind</groupId>
       <artifactId>jakarta.xml.bind-api</artifactId>
       <scope>test</scope>
-      <version>4.0.1</version>
     </dependency>
   </dependencies>
 
@@ -119,9 +118,6 @@
               <version>${version.io.quarkus}</version>
             </path>
           </annotationProcessorPaths>
-          <compilerArgs>
-            <arg>-AlegacyConfigRoot=true</arg>
-          </compilerArgs>
         </configuration>
       </plugin>
     </plugins>
diff --git a/quarkus/addons/process-management/runtime/pom.xml 
b/quarkus/addons/process-management/runtime/pom.xml
index 48161a444b..d65e3945d0 100644
--- a/quarkus/addons/process-management/runtime/pom.xml
+++ b/quarkus/addons/process-management/runtime/pom.xml
@@ -88,7 +88,6 @@
       <groupId>jakarta.xml.bind</groupId>
       <artifactId>jakarta.xml.bind-api</artifactId>
       <scope>test</scope>
-      <version>4.0.1</version>
     </dependency>
   </dependencies>
 
diff --git a/quarkus/addons/rest-exception-handler/pom.xml 
b/quarkus/addons/rest-exception-handler/pom.xml
index 03f28e9266..57328c69c8 100644
--- a/quarkus/addons/rest-exception-handler/pom.xml
+++ b/quarkus/addons/rest-exception-handler/pom.xml
@@ -79,7 +79,6 @@
       <groupId>jakarta.xml.bind</groupId>
       <artifactId>jakarta.xml.bind-api</artifactId>
       <scope>test</scope>
-      <version>4.0.1</version>
     </dependency>
   </dependencies>
 </project>
\ No newline at end of file
diff --git 
a/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoBuildTimeConfig.java
 
b/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoBuildTimeConfig.java
index 5586588de8..068cec708d 100644
--- 
a/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoBuildTimeConfig.java
+++ 
b/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoBuildTimeConfig.java
@@ -18,16 +18,18 @@
  */
 package org.kie.kogito.tracing.decision.quarkus.deployment;
 
-import io.quarkus.runtime.annotations.ConfigItem;
 import io.quarkus.runtime.annotations.ConfigPhase;
 import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithName;
 
-@ConfigRoot(name = "kogito", phase = ConfigPhase.BUILD_TIME)
-public class KogitoBuildTimeConfig {
+@ConfigMapping(prefix = "kogito")
+@ConfigRoot(phase = ConfigPhase.BUILD_TIME)
+public interface KogitoBuildTimeConfig {
 
     /**
      * Configuration for DevServices. DevServices allows Quarkus to 
automatically start TrustyService in dev and test mode.
      */
-    @ConfigItem
-    public KogitoDevServicesBuildTimeConfig devServicesTrusty;
+    @WithName("dev-services-trusty")
+    KogitoDevServicesBuildTimeConfig devServicesTrusty();
 }
diff --git 
a/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesBuildTimeConfig.java
 
b/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesBuildTimeConfig.java
index 1546e26d49..d964490fa6 100644
--- 
a/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesBuildTimeConfig.java
+++ 
b/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesBuildTimeConfig.java
@@ -20,32 +20,28 @@ package org.kie.kogito.tracing.decision.quarkus.deployment;
 
 import java.util.Optional;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
 
-@ConfigGroup
-public class KogitoDevServicesBuildTimeConfig {
+public interface KogitoDevServicesBuildTimeConfig {
 
     /**
      * If Dev Services for Kogito has been explicitly enabled or disabled. Dev 
Services are generally enabled
      * by default, unless there is an existing configuration present.
      */
-    @ConfigItem
-    public Optional<Boolean> enabled = Optional.empty();
+    Optional<Boolean> enabled();
 
     /**
      * Optional fixed port the dev service will listen to.
      * <p>
      * If not defined, 8081 will be used.
      */
-    @ConfigItem(defaultValue = "8081")
-    public Optional<Integer> port;
+    @WithDefault("8081")
+    Optional<Integer> port();
 
     /**
      * The TrustyService image to use.
      */
-    @ConfigItem
-    public String imageName;
+    Optional<String> imageName();
 
     /**
      * Indicates if the TrustyService instance managed by Quarkus DevServices 
is shared.
@@ -58,8 +54,8 @@ public class KogitoDevServicesBuildTimeConfig {
      * <p>
      * Container sharing is only used in dev mode.
      */
-    @ConfigItem(defaultValue = "true")
-    public boolean shared;
+    @WithDefault("true")
+    boolean shared();
 
     /**
      * The value of the {@code kogito-dev-service-trusty-service} label 
attached to the started container.
@@ -69,13 +65,13 @@ public class KogitoDevServicesBuildTimeConfig {
      * container instead of starting a new one. Otherwise, it starts a new 
container with the
      * {@code kogito-dev-service-trusty-service} label set to the specified 
value.
      */
-    @ConfigItem(defaultValue = "kogito-trusty-service")
-    public String serviceName;
+    @WithDefault("kogito-trusty-service")
+    String serviceName();
 
     /**
      * Optional random port the dev service will listen to in tests.
      */
-    @ConfigItem(defaultValue = "-1")
-    public Integer portUsedByTest;
+    @WithDefault("-1")
+    Integer portUsedByTest();
 
 }
diff --git 
a/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesProcessor.java
 
b/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesProcessor.java
index e4bd729ffd..98f99d8e17 100644
--- 
a/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesProcessor.java
+++ 
b/quarkus/addons/tracing-decision/deployment/src/main/java/org/kie/kogito/tracing/decision/quarkus/deployment/KogitoDevServicesProcessor.java
@@ -231,6 +231,11 @@ public class KogitoDevServicesProcessor {
             return null;
         }
 
+        if (config.imageName == null) {
+            LOGGER.warn("No TrustyService image name configured, unable to 
start DevServices.");
+            return null;
+        }
+
         final Optional<ContainerAddress> maybeContainerAddress = 
LOCATOR.locateContainer(config.serviceName,
                 config.shared,
                 launchMode.getLaunchMode());
@@ -277,7 +282,7 @@ public class KogitoDevServicesProcessor {
     }
 
     private TrustyServiceDevServiceConfig getConfiguration(final 
KogitoBuildTimeConfig cfg) {
-        KogitoDevServicesBuildTimeConfig devServicesConfig = 
cfg.devServicesTrusty;
+        KogitoDevServicesBuildTimeConfig devServicesConfig = 
cfg.devServicesTrusty();
         return new TrustyServiceDevServiceConfig(devServicesConfig);
     }
 
@@ -319,12 +324,12 @@ public class KogitoDevServicesProcessor {
         private final int portUsedByTest;
 
         public TrustyServiceDevServiceConfig(final 
KogitoDevServicesBuildTimeConfig config) {
-            this.devServicesEnabled = config.enabled.orElse(true);
-            this.imageName = config.imageName;
-            this.fixedExposedPort = config.port.orElse(0);
-            this.shared = config.shared;
-            this.serviceName = config.serviceName;
-            this.portUsedByTest = config.portUsedByTest;
+            this.devServicesEnabled = config.enabled().orElse(true);
+            this.imageName = config.imageName().orElse(null);
+            this.fixedExposedPort = config.port().orElse(0);
+            this.shared = config.shared();
+            this.serviceName = config.serviceName();
+            this.portUsedByTest = config.portUsedByTest();
         }
 
         @Override
diff --git a/quarkus/bom/pom.xml b/quarkus/bom/pom.xml
index 7896bd79a3..cc7a2f8f2c 100755
--- a/quarkus/bom/pom.xml
+++ b/quarkus/bom/pom.xml
@@ -37,8 +37,8 @@
   <description>Internal BOM descriptor for Kogito modules targeting Quarkus 
use-cases. Specific dependencies targeting the Quarkus platform must be added 
here.</description>
 
   <properties>
-    <!-- Keep it aligned with 
https://github.com/quarkusio/quarkus/blob/3.20.1/pom.xml#L72 -->
-    
<version.io.fabric8.kubernetes-client>7.1.0</version.io.fabric8.kubernetes-client>
+    <!-- Keep it aligned with 
https://github.com/quarkusio/quarkus/blob/3.27.2/pom.xml#L72 -->
+    
<version.io.fabric8.kubernetes-client>7.3.1</version.io.fabric8.kubernetes-client>
   </properties>
 
   <dependencyManagement>
diff --git 
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
 
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
index e667f7aff9..23309af7ad 100644
--- 
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
+++ 
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoAuthRuntimeConfig.java
@@ -21,11 +21,9 @@ package org.kie.kogito.quarkus.config;
 
 import java.util.Optional;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 import io.smallrye.config.WithName;
 
-@ConfigGroup
 public interface KogitoAuthRuntimeConfig {
 
     /**
diff --git 
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
 
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
index b6402115ea..9f5f620b83 100644
--- 
a/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
+++ 
b/quarkus/extensions/kogito-quarkus-extension-common/kogito-quarkus-common/src/main/java/org/kie/kogito/quarkus/config/KogitoEventingRuntimeConfig.java
@@ -18,11 +18,9 @@
  */
 package org.kie.kogito.quarkus.config;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 import io.smallrye.config.WithName;
 
-@ConfigGroup
 public interface KogitoEventingRuntimeConfig {
 
     String MAX_THREADS_PROPERTY = "threads.poolSize";
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
index 3defff2e3e..d9dbd53f59 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
@@ -145,4 +145,22 @@ public class ServerlessWorkflowAssetsProcessor extends 
WorkflowProcessor {
         
combinedIndexBuildItem.getComputingIndex().getAllKnownImplementors(DotName.createSimple("com.networknt.schema.JsonValidator"))
                 .forEach(c -> reflectiveClass.produce(new 
ReflectiveClassBuildItem(true, true, c.name().toString())));
     }
+
+    /**
+     * Register primitive wrapper types for reflection in native builds.
+     * This is needed so that RESTEasy's DefaultTextPlain provider can use
+     * TypeConverter to deserialize text/plain responses into primitive wrapper
+     * types (e.g. Float, Double) via their valueOf(String) methods.
+     */
+    @BuildStep(onlyIf = NativeOrNativeSourcesBuild.class)
+    public ReflectiveClassBuildItem 
registerPrimitiveWrapperTypesForReflection() {
+        return new ReflectiveClassBuildItem(true, false,
+                java.lang.Float.class.getName(),
+                java.lang.Double.class.getName(),
+                java.lang.Integer.class.getName(),
+                java.lang.Long.class.getName(),
+                java.lang.Short.class.getName(),
+                java.lang.Byte.class.getName(),
+                java.lang.Boolean.class.getName());
+    }
 }
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/main/resources/specs/asyncAPI.yaml
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/main/resources/specs/asyncAPI.yaml
index 9f0b86e381..4cb3f54042 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/main/resources/specs/asyncAPI.yaml
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/main/resources/specs/asyncAPI.yaml
@@ -17,34 +17,45 @@
 # under the License.
 #
 
-asyncapi: '2.0.0'
-id: 'oneConsumer'
+asyncapi: 3.0.0
+id: oneConsumer
 info:
   title: Kafka Application
-  version: '1.0.0'
+  version: 1.0.0
   description: Kafka Application
   license:
     name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
+    url: 'https://www.apache.org/licenses/LICENSE-2.0'
 servers:
   production:
-    url: localhost:9092
-    description: Development server
+    host: 'localhost:9092'
     protocol: kafka
-    protocolVersion: '1.0.0'
+    protocolVersion: 1.0.0
+    description: Development server
 channels:
   wait:
-    description: A message channel
-    subscribe:
-      operationId: wait
-      summary: Get messages
-      message:
+    address: wait
+    messages:
+      sendWait.message:
         $ref: '#/components/messages/message'
-    publish:
-      operationId: sendWait
-      summary: Send messages
-      message:
+      wait.message:
         $ref: '#/components/messages/message'
+    description: A message channel
+operations:
+  sendWait:
+    action: send
+    channel:
+      $ref: '#/channels/wait'
+    summary: Send messages
+    messages:
+      - $ref: '#/channels/wait/messages/sendWait.message'
+  wait:
+    action: receive
+    channel:
+      $ref: '#/channels/wait'
+    summary: Get messages
+    messages:
+      - $ref: '#/channels/wait/messages/wait.message'
 components:
   messages:
     message:
@@ -53,7 +64,7 @@ components:
       summary: A message
       contentType: application/json
       payload:
-        $ref: "#/components/schemas/message"
+        $ref: '#/components/schemas/message'
   schemas:
     message:
       type: object
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java
index 0ea4e89ff3..edc2ccf406 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.io.UncheckedIOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.time.Duration;
 import java.util.Collections;
 import java.util.Map;
 import java.util.Objects;
@@ -31,8 +32,13 @@ import java.util.stream.Stream;
 
 import org.jboss.shrinkwrap.api.asset.StringAsset;
 import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
+import org.junit.jupiter.api.Order;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestMethodOrder;
 import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.parallel.Execution;
 import org.kie.kogito.test.utils.SocketUtils;
 
 import com.github.tomakehurst.wiremock.WireMockServer;
@@ -49,9 +55,15 @@ import static 
com.github.tomakehurst.wiremock.client.WireMock.post;
 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
 import static io.restassured.RestAssured.given;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Awaitility.await;
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.is;
+import static org.junit.jupiter.api.parallel.ExecutionMode.SAME_THREAD;
 
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
+@Execution(SAME_THREAD)
+@TestMethodOrder(OrderAnnotation.class)
+//@Disabled("Disabled temporarily - live reload tests are unstable in dev 
mode")
 public class LiveReloadProcessorTest {
 
     private static final int PORT = SocketUtils.findAvailablePort();
@@ -108,6 +120,7 @@ public class LiveReloadProcessorTest {
     }
 
     @Test
+    @Order(2)
     void testOpenApi() throws IOException {
         given()
                 .contentType(ContentType.JSON)
@@ -134,6 +147,7 @@ public class LiveReloadProcessorTest {
     }
 
     @Test
+    @Order(3)
     void testGrpc() throws InterruptedException, IOException {
         Server server = GreeterService.buildServer(PORT);
         server.start();
@@ -167,6 +181,7 @@ public class LiveReloadProcessorTest {
     }
 
     @Test
+    @Order(1)
     void testAsyncApi() throws IOException {
         given()
                 .contentType(ContentType.JSON)
@@ -180,15 +195,18 @@ public class LiveReloadProcessorTest {
             test.addResourceFile("asyncPublisher.sw.json", new 
String(Objects.requireNonNull(inputStream).readAllBytes()));
         }
 
-        String id = given()
-                .contentType(ContentType.JSON)
-                .when()
-                .body(Collections.singletonMap("workflowdata", 
Collections.emptyMap()))
-                .post("/asyncEventPublisher")
-                .then()
-                .statusCode(201)
-                .extract().path("id");
+        // Wait for Quarkus to complete the hot reload (max 10 seconds)
+        await().atMost(Duration.ofSeconds(10)).untilAsserted(() -> {
+            String id = given()
+                    .contentType(ContentType.JSON)
+                    .when()
+                    .body(Collections.singletonMap("workflowdata", 
Collections.emptyMap()))
+                    .post("/asyncEventPublisher")
+                    .then()
+                    .statusCode(201)
+                    .extract().path("id");
 
-        assertThat(id).isNotBlank();
+            assertThat(id).isNotBlank();
+        });
     }
 }
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/asyncAPI.yaml
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/asyncAPI.yaml
index 9f0b86e381..4cb3f54042 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/asyncAPI.yaml
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/asyncAPI.yaml
@@ -17,34 +17,45 @@
 # under the License.
 #
 
-asyncapi: '2.0.0'
-id: 'oneConsumer'
+asyncapi: 3.0.0
+id: oneConsumer
 info:
   title: Kafka Application
-  version: '1.0.0'
+  version: 1.0.0
   description: Kafka Application
   license:
     name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
+    url: 'https://www.apache.org/licenses/LICENSE-2.0'
 servers:
   production:
-    url: localhost:9092
-    description: Development server
+    host: 'localhost:9092'
     protocol: kafka
-    protocolVersion: '1.0.0'
+    protocolVersion: 1.0.0
+    description: Development server
 channels:
   wait:
-    description: A message channel
-    subscribe:
-      operationId: wait
-      summary: Get messages
-      message:
+    address: wait
+    messages:
+      sendWait.message:
         $ref: '#/components/messages/message'
-    publish:
-      operationId: sendWait
-      summary: Send messages
-      message:
+      wait.message:
         $ref: '#/components/messages/message'
+    description: A message channel
+operations:
+  sendWait:
+    action: send
+    channel:
+      $ref: '#/channels/wait'
+    summary: Send messages
+    messages:
+      - $ref: '#/channels/wait/messages/sendWait.message'
+  wait:
+    action: receive
+    channel:
+      $ref: '#/channels/wait'
+    summary: Get messages
+    messages:
+      - $ref: '#/channels/wait/messages/wait.message'
 components:
   messages:
     message:
@@ -53,7 +64,7 @@ components:
       summary: A message
       contentType: application/json
       payload:
-        $ref: "#/components/schemas/message"
+        $ref: '#/components/schemas/message'
   schemas:
     message:
       type: object
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/callbackResults.yaml
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/callbackResults.yaml
index 7b7b97d277..f13d5fc9a2 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/callbackResults.yaml
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/specs/callbackResults.yaml
@@ -17,57 +17,89 @@
 # under the License.
 #
 
-asyncapi: '2.0.0'
-id: 'callbackResults'
+asyncapi: 3.0.0
+id: callbackResults
 info:
   title: Kafka Application
-  version: '1.0.0'
+  version: 1.0.0
   description: Kafka Application
   license:
     name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
+    url: 'https://www.apache.org/licenses/LICENSE-2.0'
 servers:
   production:
-    url: localhost:9092
-    description: Development server
+    host: 'localhost:9092'
     protocol: kafka
-    protocolVersion: '1.0.0'
+    protocolVersion: 1.0.0
+    description: Development server
 channels:
   success:
-    description: A message channel for successful completions
-    publish:
-      operationId: sendSuccess
-      summary: Success
-      message:
+    address: success
+    messages:
+      sendSuccess.message:
         $ref: '#/components/messages/message'
+    description: A message channel for successful completions
   timeoutCallbackError:
-    description: A message channel for callback timeout error
-    publish:
-      operationId: sendTimeoutExpiredForCallbackError
-      summary: Timeout Expired
-      message:
+    address: timeoutCallbackError
+    messages:
+      sendTimeoutExpiredForCallbackError.message:
         $ref: '#/components/messages/message'
+    description: A message channel for callback timeout error
   timeoutError:
-    description: A message channel for timeout error
-    publish:
-      operationId: sendTimeoutExpiredError
-      summary: Timeout Expired
-      message:
+    address: timeoutError
+    messages:
+      sendTimeoutExpiredError.message:
         $ref: '#/components/messages/message'
+    description: A message channel for timeout error
   sendEvenError:
-    description: A message channel for publishing errors
-    publish:
-      operationId: sendEvenError
-      summary: Reporting error
-      message:
+    address: sendEvenError
+    messages:
+      sendEvenError.message:
         $ref: '#/components/messages/message'
+    description: A message channel for publishing errors
   error:
-    description: A message channel for failed executions
-    publish:
-      operationId: sendFailed
-      summary: Failed
-      message:
+    address: error
+    messages:
+      sendFailed.message:
         $ref: '#/components/messages/message'
+    description: A message channel for failed executions
+operations:
+  sendSuccess:
+    action: send
+    channel:
+      $ref: '#/channels/success'
+    summary: Success
+    messages:
+      - $ref: '#/channels/success/messages/sendSuccess.message'
+  sendTimeoutExpiredForCallbackError:
+    action: send
+    channel:
+      $ref: '#/channels/timeoutCallbackError'
+    summary: Timeout Expired
+    messages:
+      - $ref: >-
+          
#/channels/timeoutCallbackError/messages/sendTimeoutExpiredForCallbackError.message
+  sendTimeoutExpiredError:
+    action: send
+    channel:
+      $ref: '#/channels/timeoutError'
+    summary: Timeout Expired
+    messages:
+      - $ref: 
'#/channels/timeoutError/messages/sendTimeoutExpiredError.message'
+  sendEvenError:
+    action: send
+    channel:
+      $ref: '#/channels/sendEvenError'
+    summary: Reporting error
+    messages:
+      - $ref: '#/channels/sendEvenError/messages/sendEvenError.message'
+  sendFailed:
+    action: send
+    channel:
+      $ref: '#/channels/error'
+    summary: Failed
+    messages:
+      - $ref: '#/channels/error/messages/sendFailed.message'
 components:
   messages:
     message:
@@ -76,7 +108,7 @@ components:
       summary: A message
       contentType: application/json
       payload:
-        $ref: "#/components/schemas/message"
+        $ref: '#/components/schemas/message'
   schemas:
     message:
       type: object
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
index 9e6b53a612..6c0ceeca81 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowBuildTimeConfig.java
@@ -18,11 +18,9 @@
  */
 package org.kie.kogito.quarkus.serverless.workflow.config;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 import io.smallrye.config.WithName;
 
-@ConfigGroup
 public interface KogitoServerlessWorkflowBuildTimeConfig {
 
     /**
diff --git 
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
 
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
index e996b76c04..491cc8ca5f 100644
--- 
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
+++ 
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common-deployment/src/main/java/org/kie/kogito/quarkus/workflow/deployment/config/KogitoDevServicesBuildTimeConfig.java
@@ -20,10 +20,8 @@ package org.kie.kogito.quarkus.workflow.deployment.config;
 
 import java.util.Optional;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 
-@ConfigGroup
 public interface KogitoDevServicesBuildTimeConfig {
 
     /**
diff --git 
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
 
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
index a85942ae7c..24035e6eea 100644
--- 
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
+++ 
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceBuildTimeConfig.java
@@ -18,11 +18,9 @@
  */
 package org.kie.kogito.quarkus.workflow.config;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 import io.smallrye.config.WithName;
 
-@ConfigGroup
 public interface KogitoPersistenceBuildTimeConfig {
 
     /**
diff --git 
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
 
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
index 90d64ee976..6415c353f0 100644
--- 
a/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
+++ 
b/quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/config/KogitoPersistenceRuntimeConfig.java
@@ -20,11 +20,9 @@ package org.kie.kogito.quarkus.workflow.config;
 
 import java.util.Optional;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
 import io.smallrye.config.WithDefault;
 import io.smallrye.config.WithName;
 
-@ConfigGroup
 public interface KogitoPersistenceRuntimeConfig {
 
     /**
diff --git a/springboot/addons/jbpm-usertask-storage-jpa/pom.xml 
b/springboot/addons/jbpm-usertask-storage-jpa/pom.xml
index 7dad79c279..e70e2aa21c 100644
--- a/springboot/addons/jbpm-usertask-storage-jpa/pom.xml
+++ b/springboot/addons/jbpm-usertask-storage-jpa/pom.xml
@@ -41,6 +41,10 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.jbpm</groupId>
             <artifactId>jbpm-addons-usertask-storage-jpa</artifactId>
diff --git 
a/springboot/addons/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/springboot/SpringBootUserTaskJPAAutoConfiguration.java
 
b/springboot/addons/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/springboot/SpringBootUserTaskJPAAutoConfiguration.java
index 2e855b05d1..95c233937c 100644
--- 
a/springboot/addons/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/springboot/SpringBootUserTaskJPAAutoConfiguration.java
+++ 
b/springboot/addons/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/springboot/SpringBootUserTaskJPAAutoConfiguration.java
@@ -19,10 +19,26 @@
 
 package org.jbpm.usertask.jpa.springboot;
 
+import org.springframework.beans.factory.config.BeanPostProcessor;
 import org.springframework.boot.SpringBootConfiguration;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
 
 @SpringBootConfiguration
 @EntityScan("org.jbpm.usertask.jpa.model")
 public class SpringBootUserTaskJPAAutoConfiguration {
+
+    @Bean
+    public static BeanPostProcessor usertaskEmfPostProcessor() {
+        return new BeanPostProcessor() {
+            @Override
+            public Object postProcessBeforeInitialization(Object bean, String 
beanName) {
+                if (bean instanceof LocalContainerEntityManagerFactoryBean 
emfb) {
+                    
emfb.setEntityManagerFactoryInterface(jakarta.persistence.EntityManagerFactory.class);
+                }
+                return bean;
+            }
+        };
+    }
 }
diff --git a/springboot/bom/pom.xml b/springboot/bom/pom.xml
index 4fc06a63af..4f70bbd5f3 100644
--- a/springboot/bom/pom.xml
+++ b/springboot/bom/pom.xml
@@ -42,10 +42,10 @@
     <version.org.apache.groovy>4.0.29</version.org.apache.groovy>
     <version.org.spockframework>2.2-groovy-4.0</version.org.spockframework>
     <!-- Spring Boot Cloud aligned with Spring Boot Framework version. See: 
https://spring.io/projects/spring-cloud -->
-    <!-- 
https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2022.0-Release-Notes
 -->
-    
<version.org.springframework.cloud>2024.0.2</version.org.springframework.cloud>
+    <!-- 
https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2025.0-Release-Notes
 -->
+    
<version.org.springframework.cloud>2025.0.1</version.org.springframework.cloud>
     <!-- Aligned with Spring Boot Cloud -->
-    <version.io.fabric8>7.2.0</version.io.fabric8>
+    <version.io.fabric8>7.3.1</version.io.fabric8>
   </properties>
   
   <dependencyManagement>
diff --git 
a/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/integration-tests-springboot-processes-postgresql/pom.xml
 
b/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/integration-tests-springboot-processes-postgresql/pom.xml
index 5a2782c45e..ca8983371b 100644
--- 
a/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/integration-tests-springboot-processes-postgresql/pom.xml
+++ 
b/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/integration-tests-springboot-processes-postgresql/pom.xml
@@ -104,7 +104,7 @@
     </dependency>
     <dependency>
        <groupId>com.ongres.scram</groupId>
-       <artifactId>client</artifactId>
+       <artifactId>scram-client</artifactId>
        <scope>test</scope>
     </dependency>
   </dependencies>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to