1. Spring Boot 4 and Maven¶
Date: 2026-10-03
Status¶
Accepted
Context¶
The plan (v1.1) named Spring Boot 3 and Maven. By October 2026 Spring Boot 4.x is the current line, and free support for 3.5 is ending or has ended. Prayog is a new codebase with no migration cost.
Options¶
- Spring Boot 3.5.x as originally written: familiar, but on an ageing support line.
- Spring Boot 4.x: current line; Jakarta EE 11, Spring Framework 7, Jackson 3, JUnit 6, modular starters.
Build tool: Maven (multi-module, Maven Wrapper) was already decided over Gradle.
Decision¶
Spring Boot 4.1.1 via spring-boot-starter-parent, Maven 3.9.16 through the Maven Wrapper. The root POM is both parent and aggregator; the engine (exchange-core) is plain Java with no Spring dependency.
Trade-offs¶
- Fewer tutorials and answers online for Boot 4; Jackson 3 changes package names (
tools.jackson). - Some third-party plugins lag behind (see the S16 risk in BUILD_PLAN section 16.5).
- In exchange: current support, current libraries, and one less upgrade to do later.