Skip to content

feat: Migrate to Java 25 and Spring Boot 4.0.6#186

Open
devin-ai-integration[bot] wants to merge 1 commit intoDevOpsfrom
devin/1777543163-java-25-upgrade
Open

feat: Migrate to Java 25 and Spring Boot 4.0.6#186
devin-ai-integration[bot] wants to merge 1 commit intoDevOpsfrom
devin/1777543163-java-25-upgrade

Conversation

@devin-ai-integration
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot commented Apr 30, 2026

Summary

Migrates the application from Java 17 / Spring Boot 3.3.3 to Java 25 (latest LTS) / Spring Boot 4.0.6.

Changes

Area Before After
Java 17 25 (latest LTS)
Spring Boot 3.3.3 4.0.6
Spring Security 6.x 7.0.5
Spring Framework 6.x 7.x
maven-compiler-plugin 3.8.0 (source/target 1.8) 3.14.0 (<release>25</release>)
MySQL Connector mysql:mysql-connector-java:8.0.33 com.mysql:mysql-connector-j (managed)
Dockerfile builder maven:3.8.3-openjdk-17 maven:3.9-eclipse-temurin-25
Dockerfile runtime openjdk:17-alpine (deprecated) eclipse-temurin:25-jre-alpine

Source code fixes:

  • Replaced removed AntPathRequestMatcher with logoutUrl() for Spring Security 7 compatibility
  • Removed explicit MySQL8Dialect (auto-detected by modern Hibernate)
  • Removed unused thymeleaf-extras-springsecurity6 dependency (not used in templates, incompatible with Spring Security 7)

Review & Testing Checklist for Human

  • Verify the application starts correctly with a MySQL database (docker-compose up)
  • Test login, registration, deposit, withdrawal, and transfer flows work end-to-end
  • Confirm logout works correctly with the new logoutUrl() approach (replaces removed AntPathRequestMatcher)
  • Validate Kubernetes deployment manifests still work with the new Docker image

Notes

  • The maven-compiler-plugin was previously configured with source/target 1.8 which was inconsistent with the Java 17 property — now uses <release> which is the modern and correct approach
  • The deprecated openjdk Docker images have been replaced with Eclipse Temurin, the recommended OpenJDK distribution

Link to Devin session: https://app.devin.ai/sessions/c4f2e1ce8b5d45c98b480fd70545e19c
Requested by: @joao-cognition


Devin Review

Status Commit
⚪ Not started

💡 Connect your GitHub account to enable automatic code reviews.

Open in Devin Review (Staging)

- Upgrade Java from 17 to 25 (latest LTS)
- Upgrade Spring Boot from 3.3.3 to 4.0.6
- Update maven-compiler-plugin from 3.8.0 to 3.14.0, use release instead of source/target
- Replace deprecated mysql:mysql-connector-java with com.mysql:mysql-connector-j
- Remove unused thymeleaf-extras-springsecurity6 dependency
- Update Dockerfile to use Eclipse Temurin images (maven:3.9-eclipse-temurin-25, eclipse-temurin:25-jre-alpine)
- Remove deprecated openjdk Docker images
- Remove explicit MySQL8Dialect (auto-detected by Hibernate)
- Replace removed AntPathRequestMatcher with logoutUrl() for Spring Security 7 compatibility

Co-Authored-By: Joao Esteves <joao.esteves@cognition.ai>
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants