Skip to content

Conversation

@ymarcon
Copy link
Member

@ymarcon ymarcon commented Jan 20, 2026

Summary

Upgraded Spring Boot from version 3.5.7 to 4.0.1, bringing latest features and improvements.

Changes Made

  • Spring Boot Version: Updated from 3.5.7 to 4.0.1
  • Web Starter: Renamed spring-boot-starter-web to spring-boot-starter-webmvc (Spring Boot 4 naming change)
  • Jackson Dependencies: Removed explicit Jackson dependencies to use Spring Boot 4 managed Jackson 3
  • Dependency Updates:
    • SnakeYAML: 2.2 → 2.3
    • SLF4J: 2.0.9 → 2.0.16
  • Version Properties: Removed explicit Jackson version property as Spring Boot 4 manages Jackson 3

Benefits

  • Jackson 3: New JSON library with improved performance and new group IDs (tools.jackson.*)
  • Spring Framework 7: Latest framework features and enhancements
  • Jakarta EE 11: Updated enterprise Java standards
  • Modular Design: Smaller, focused Spring Boot modules
  • Enhanced Null Safety: JSpecify annotations support
  • Java 17+ Compatibility: Meets Spring Boot 4 requirements (project already uses Java 21)

Testing

  • ✅ Maven compilation successful
  • ✅ Maven packaging successful
  • ✅ All dependencies resolved correctly
  • ✅ Generated Spring Boot executable JAR

Migration Notes

This upgrade follows the official Spring Boot 4.0 Migration Guide and addresses all breaking changes including:

  • Jackson 3 migration with new package structure
  • Starter dependency renaming
  • Updated dependency management

- Update Spring Boot version from 3.5.7 to 4.0.1
- Rename spring-boot-starter-web to spring-boot-starter-webmvc
- Remove explicit Jackson dependencies to use Spring Boot 4 managed versions
- Update SnakeYAML from 2.2 to 2.3
- Update SLF4J from 2.0.9 to 2.0.16
- Remove explicit Jackson version property as Spring Boot 4 manages Jackson 3

This upgrade brings:
- Jackson 3 with improved performance
- Spring Framework 7 latest features
- Jakarta EE 11 updated enterprise standards
- Enhanced modular design and null safety
- Java 17+ compatibility (already using Java 21)
@ymarcon ymarcon force-pushed the feature/spring-boot-4-upgrade branch from cadcc90 to d127c8e Compare January 20, 2026 10:38
@ymarcon ymarcon merged commit eec299d into master Jan 20, 2026
2 checks passed
@ymarcon ymarcon deleted the feature/spring-boot-4-upgrade branch January 20, 2026 10:40
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