Skip to content

Spring Boot 4.0.1 Release

Choose a tag to compare

@darbyluv2code darbyluv2code released this 09 Jan 07:18
· 10 commits to main since this release
fbad6b2

Spring Boot 4.0.1 Release

This release upgrades all 23 Spring Boot projects from version 3.5.9 to 4.0.1.

Major Changes

  • Spring Boot: 3.5.9 → 4.0.1
  • Spring Framework: 6.x → 7.x (automatic with Boot 4.0)
  • Spring Security: 6.x → 7.0.2 (automatic with Boot 4.0)
  • Hibernate: 6.x → 7.x (automatic with Boot 4.0)
  • Java Version: 25 (unchanged, fully supported)

POM Updates (23 files)

  • Updated Spring Boot parent version to 4.0.1
  • Replaced spring-boot-starter-web with spring-boot-starter-webmvc (modular starter requirement)
  • Replaced spring-boot-starter-test with spring-boot-starter-webmvc-test (modular test starter requirement)
  • Modernized WebJars: Replaced webjars-locator with webjars-locator-lite (22 projects) for improved Spring Framework 7 compatibility and performance - eliminates classpath scanning overhead
  • Updated Bootstrap WebJar: 5.3.2 → 5.3.8
  • Updated Font Awesome WebJar: 6.5.1 → 7.1.0
  • Maintained thymeleaf-extras-springsecurity6 (compatible with Spring Security 7)

Code Updates (15 files)

Updated Spring Security configuration in WebSecurityConfig.java files:

  • Changed DaoAuthenticationProvider() no-arg constructor to constructor with UserDetailsService parameter
  • Removed deprecated setUserDetailsService() method calls

Breaking Changes Addressed

  • Spring Boot 4.0 requires modular starters (spring-boot-starter-webspring-boot-starter-webmvc)
  • Spring Security 7 requires UserDetailsService in DaoAuthenticationProvider constructor
  • Test infrastructure requires modular test starters
  • WebJars locator modernization for Spring Framework 7 compatibility

Compatibility

  • Jakarta EE 11 baseline
  • Servlet 6.1 requirement
  • Spring Framework 7.x
  • Spring Security 7.0.2
  • Hibernate 7.x
  • Java 17+ required (Java 25 supported and tested)

Impact

  • 38 files changed (84 insertions, 99 deletions)
  • 23 pom.xml files updated
  • 15 WebSecurityConfig.java files updated

Sections Updated

  • Section 03: Registration (7 projects)
  • Section 04: Login/Logout (5 projects)
  • Section 05: Recruiter Profile (3 projects)
  • Section 06: Recruiter Post New Job (1 project)
  • Section 07: Recruiter Dashboard (2 projects)
  • Section 08: Job Candidate Profile (1 project)
  • Section 09: Job Candidate Dashboard & Apply (1 project)
  • Section 10: Job Candidate Save a Job (1 project)
  • Section 11: Download Candidate Resume (1 project)
  • Section 12: Global Search (1 project)

Related Pull Requests

  • #23: Update Bootstrap to 5.3.8 and Font Awesome to 7.1.0
  • #22: Replace webjars-locator with webjars-locator-lite for Spring Boot 4 compatibility
  • #21: Add Maven wrapper files to all Maven projects
  • #20: Add .gitattributes to all Maven projects

Migration Notes

Projects upgrading from Spring Boot 3.5.9 should:

  1. Update parent POM to Spring Boot 4.0.1
  2. Replace web starters with modular equivalents
  3. Update Spring Security authentication provider configuration
  4. Replace webjars-locator with webjars-locator-lite
  5. Verify Java 17+ runtime
  6. Test with Jakarta EE 11 and Servlet 6.1 compatibility