Skip to content

Conversation

@devin-ai-integration
Copy link

Summary

This PR upgrades the Java and Spring Boot versions to their latest stable releases:

  • Spring Boot: 3.3.3 → 4.0.0 (major version upgrade)
  • Java: 17 → 21 (LTS upgrade)
  • Maven Compiler Plugin: 3.8.0 → 3.13.0 with source/target updated from 1.8 to 21
  • Dockerfile: Updated base images to use Eclipse Temurin JDK 21

Review & Testing Checklist for Human

This is a high-risk PR due to the major Spring Boot version upgrade. Please verify:

  • Spring Boot 4.0.0 compatibility: Review the Spring Boot 4.0 migration guide for breaking changes. The app uses Spring Security, JPA, and Thymeleaf which may have API changes.
  • Docker build verification: Build the Docker image locally to confirm the new base images (maven:3.9-eclipse-temurin-21 and eclipse-temurin:21-jre-alpine) work correctly
  • Application startup test: Run the containerized application with MySQL to verify it starts without errors
  • Spring Security configuration: Verify SecurityConfig.java is compatible with Spring Security 7 (bundled with Spring Boot 4.0)
  • MySQL connector compatibility: Confirm MySQL Connector 8.0.33 works with Java 21

Recommended test plan:

  1. Build Docker image: docker build -t bankapp-test .
  2. Run with docker-compose: docker-compose up
  3. Verify application starts and login/registration flows work

Notes

  • Local Maven build was not possible because the dev environment has Java 17 installed. The build will occur in Docker/CI which uses the Java 21 images.
  • The previous maven-compiler-plugin was configured for Java 1.8 despite java.version being 17 - this inconsistency has been corrected.

Requested by: Shawn Azman (@ShawnAzman)
Devin session: https://app.devin.ai/sessions/cf83fccd463743b2959d4f40aaff46ec

- Update Spring Boot parent version from 3.3.3 to 4.0.0
- Update java.version property from 17 to 21
- Update maven-compiler-plugin from 3.8.0 to 3.13.0 with source/target 21
- Update Dockerfile builder image from maven:3.8.3-openjdk-17 to maven:3.9-eclipse-temurin-21
- Update Dockerfile runtime image from openjdk:17-alpine to eclipse-temurin:21-jre-alpine

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
Copy link
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.

2 participants