From f36e0b40cfbe4eda4f7ff65ec66b4755e7e9f48d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 13 Dec 2025 03:27:20 +0000
Subject: [PATCH 1/4] Initial plan
From e7d40b0aee315fa2d4cd8c05b964cb44ec71f323 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 13 Dec 2025 03:31:20 +0000
Subject: [PATCH 2/4] Update to Java 25, Spring Boot 4.0.0, and Spring
Framework 7.0.1
Co-authored-by: marioserrano09 <5221275+marioserrano09@users.noreply.github.com>
---
.github/workflows/maven.yml | 4 ++--
README.md | 4 ++--
pom.xml | 6 +++---
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 8b078d1e..8a46e7b0 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -17,10 +17,10 @@ jobs:
steps:
- uses: actions/checkout@v3
- - name: Set up JDK 17
+ - name: Set up JDK 25
uses: actions/setup-java@v3
with:
- java-version: 21
+ java-version: 25
architecture: x64
distribution: temurin
cache: maven
diff --git a/README.md b/README.md
index 47943d42..1d339c6d 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
[](https://search.maven.org/search?q=tools.dynamia)
-
+
[](https://github.com/dynamiatools/framework/actions/workflows/maven.yml)
[](https://github.com/dynamiatools/framework/actions/workflows/release.yml)
[](https://dynamia.tools/getting-started/)
@@ -12,7 +12,7 @@
DynamiaTools
-DynamiaTools is a cutting-edge full-stack Java 17+ framework designed for building powerful enterprise web applications, harnessing the strength of Spring Boot 3 and the elegance of ZK 10.
+DynamiaTools is a cutting-edge full-stack Java 21+ framework designed for building powerful enterprise web applications, harnessing the strength of Spring Boot 4 and the elegance of ZK 10.
## With DynamiaTools you can
diff --git a/pom.xml b/pom.xml
index 870304ff..46fd0413 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,7 +80,7 @@
${project.baseUri}
- 3.5.8
+ 4.0.0
2.2.38
1
@@ -99,8 +99,8 @@
2.0.17
- 21
- 21
+ 25
+ 25
3.14.0
UTF-8
${maven.build.timestamp}
From e0b1c93b0bb435a7ea727f49bd04de0d15c93de8 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 13 Dec 2025 03:35:52 +0000
Subject: [PATCH 3/4] Fix Spring Framework 7 compatibility issues
Co-authored-by: marioserrano09 <5221275+marioserrano09@users.noreply.github.com>
---
.github/workflows/maven.yml | 4 ++--
README.md | 2 +-
.../dynamia/app/controllers/GlobalExceptionController.java | 5 +----
.../dynamia/domain/jpa/ModularPersistenceUnitManager.java | 4 ++--
pom.xml | 4 ++--
5 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 8a46e7b0..3c4c2bf4 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -17,10 +17,10 @@ jobs:
steps:
- uses: actions/checkout@v3
- - name: Set up JDK 25
+ - name: Set up JDK 21
uses: actions/setup-java@v3
with:
- java-version: 25
+ java-version: 21
architecture: x64
distribution: temurin
cache: maven
diff --git a/README.md b/README.md
index 1d339c6d..3f72d274 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
[](https://search.maven.org/search?q=tools.dynamia)
-
+
[](https://github.com/dynamiatools/framework/actions/workflows/maven.yml)
[](https://github.com/dynamiatools/framework/actions/workflows/release.yml)
[](https://dynamia.tools/getting-started/)
diff --git a/app/src/main/java/tools/dynamia/app/controllers/GlobalExceptionController.java b/app/src/main/java/tools/dynamia/app/controllers/GlobalExceptionController.java
index 3cb1d683..4fd6c88a 100644
--- a/app/src/main/java/tools/dynamia/app/controllers/GlobalExceptionController.java
+++ b/app/src/main/java/tools/dynamia/app/controllers/GlobalExceptionController.java
@@ -17,7 +17,6 @@
package tools.dynamia.app.controllers;
import jakarta.servlet.http.HttpServletRequest;
-import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -36,14 +35,12 @@
*
* Provides handlers for navigation errors, general exceptions, and error endpoints.
* Returns appropriate views and error information for UI clients.
- *
- * Implements {@link ErrorController} for integration with Spring Boot error handling.
*
* @author Mario A. Serrano Leones
* @since 2023
*/
@Controller
-public class GlobalExceptionController implements ErrorController {
+public class GlobalExceptionController {
/**
* Logger for error and exception handling.
diff --git a/domain-jpa/src/main/java/tools/dynamia/domain/jpa/ModularPersistenceUnitManager.java b/domain-jpa/src/main/java/tools/dynamia/domain/jpa/ModularPersistenceUnitManager.java
index e1f5e7ca..e811e0c3 100644
--- a/domain-jpa/src/main/java/tools/dynamia/domain/jpa/ModularPersistenceUnitManager.java
+++ b/domain-jpa/src/main/java/tools/dynamia/domain/jpa/ModularPersistenceUnitManager.java
@@ -53,7 +53,7 @@ protected void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui) {
// Invoke normal post processing
super.postProcessPersistenceUnitInfo(pui);
- PersistenceUnitInfo oldPui = getPersistenceUnitInfo(pui.getPersistenceUnitName());
+ MutablePersistenceUnitInfo oldPui = getPersistenceUnitInfo(pui.getPersistenceUnitName());
if (oldPui != null) {
postProcessPersistenceUnitInfo(pui, oldPui);
@@ -66,7 +66,7 @@ protected void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui) {
* @param pui the pui
* @param oldPui the old pui
*/
- void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui, PersistenceUnitInfo oldPui) {
+ void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui, MutablePersistenceUnitInfo oldPui) {
for (URL url : oldPui.getJarFileUrls()) {
diff --git a/pom.xml b/pom.xml
index 46fd0413..829e2b2d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,8 +99,8 @@
2.0.17
- 25
- 25
+ 21
+ 21
3.14.0
UTF-8
${maven.build.timestamp}
From f43673e1e85d0d4b09f094a9f726b1e44a21deca Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 13 Dec 2025 03:38:52 +0000
Subject: [PATCH 4/4] Fix test compatibility with Spring Boot 4
Co-authored-by: marioserrano09 <5221275+marioserrano09@users.noreply.github.com>
---
.../test/java/tools/dynamia/app/crud/CrudTestConfiguration.java | 2 --
1 file changed, 2 deletions(-)
diff --git a/app/src/test/java/tools/dynamia/app/crud/CrudTestConfiguration.java b/app/src/test/java/tools/dynamia/app/crud/CrudTestConfiguration.java
index bef78506..2a871450 100644
--- a/app/src/test/java/tools/dynamia/app/crud/CrudTestConfiguration.java
+++ b/app/src/test/java/tools/dynamia/app/crud/CrudTestConfiguration.java
@@ -1,7 +1,6 @@
package tools.dynamia.app.crud;
import jakarta.persistence.EntityManagerFactory;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
@@ -20,7 +19,6 @@
import javax.sql.DataSource;
@Configuration
-@EntityScan(basePackageClasses = {CrudTestConfiguration.class})
public class CrudTestConfiguration {
@Bean