TLDR Stay current, automate the tedious stuff, and never steal from your own wallet.
DaShaun Carter, Spring Developer Advocate at Broadcom, joined Code Remix Weekly to chat about the new Spring Boot 4 release, including migration strategies and the broader impact of upgrading in your Java ecosystem. From performance improvements to modular starters and community-driven recipes, this episode was packed with insights for developers navigating modern Spring applications.
Why you should upgrade
A common question is: “Spring Boot 3 works fine, why do I need to upgrade to 4?” DaShaun’s answer is simple but impactful: staying on older versions is like stealing from your own wallet.
Older versions may work, but they are less efficient, consume more memory, and cost more to run. Each Java update and Spring Boot release brings measurable performance gains: better garbage collection, improved memory usage, and faster startup times. For businesses running large-scale applications, these improvements translate directly into cost savings.
You may like How Squarespace automated modernization at scale to simplify Spring Boot upgrades
New features vs. infrastructure improvements
Interestingly, Spring Boot 4 isn’t about flashy new features—it’s about infrastructure upgrades and enabling developers to take advantage of improvements in downstream dependencies. Some highlights include:
- Jakarta EE 11 support
- Hibernate 7
- Jackson 3
- JSpecify null safety annotations
- API versioning (which DaShaun cites as his personal favorite)
Many of the new capabilities stem from changes in the ecosystem rather than Spring Boot itself. These upgrades improve maintainability, stability, and long-term support across large codebases.
Minimum supported versions and migration paths
Not everyone is ready to jump to Spring Boot 4 immediately. If your organization is still on older versions, DaShaun recommends upgrading to the latest Spring Boot 3.5 patch release as a stable intermediate step. It’s fully maintained and allows teams to prepare for a smooth transition to Spring Boot 4.
OpenRewrite is a key enabler of this smooth migration. Its recipes automate code transformations, making upgrades predictable and repeatable across thousands of repositories when scaled with Moderne.
Modular starters and dependency management
Spring Boot 4 also introduces more modular starters. Previously, developers had one large starter bringing in many dependencies. Now, you can opt for smaller, targeted starters, making dependency management cleaner and reducing surprises caused by transitively-included libraries.
For organizations creating their own internal frameworks, this modular approach makes it easier to deliver custom starters while minimizing conflicts and unnecessary configurations.
Performance enhancements and Java 17+ features
Spring Boot 4 also benefits from the latest Java enhancements:
- Virtual threads
- Scoped values and structured concurrency
- Ahead-of-time (AOT) compilation and caching
AOT compilation and class data sharing allow Spring Boot applications to precompute metadata and load beans at build time, leading to faster startup times. This is particularly valuable for environments that scale dynamically or run on constrained devices, like Raspberry Pi clusters.
DaShaun shared his personal experiments running Spring Boot apps on Raspberry Pis, using native images with GraalVM to reduce memory usage from hundreds of megabytes down to tens, allowing rapid scaling and experimentation.
AI and automation in upgrades
Spring AI and other emerging projects are influencing the upgrade path as well. New Spring AI features require at least Spring Boot 3.3 or higher, so staying current ensures you can leverage these modern tools.
OpenRewrite is helping developers automate upgrades and maintenance, allowing teams to standardize transformations across multiple projects without manual intervention. For individual projects, developers like DaShaun Carter have demonstrated integrating OpenRewrite with Spring Shell for interactive upgrade workflows.
For organizations managing upgrades at scale across thousands of repositories, the Moderne CLI provides enterprise-grade tooling to execute OpenRewrite recipes consistently and efficiently. This automated approach not only improves efficiency but also reduces the cognitive load of keeping large codebases up-to-date.
Key takeaways
- Upgrading is worth it – Improved performance, lower costs, and better maintainability make Spring Boot 4 a no-brainer.
- OpenRewrite recipes simplify migration – OpenRewrite enables automated, repeatable transformations to get you started.
- Modular starters reduce surprises – Pick only the dependencies you need.
- Java improvements benefit your app – Virtual threads, AOT compilation, and native images enhance performance and scalability.
DaShaun reminds us that software maintainability is key. The best developers are those who stick around long enough to see the consequences of their decisions. Upgrading isn’t just a task—it’s an opportunity to improve performance, reduce operational costs, and ensure your codebase is ready for the future.
Moderne offers ready-to-use recipes for Spring Boot 4 migration to automate the process of upgrading dependencies, plugins, and parent POMs, making life easier for developers. Read our Spring Boot 4 migration survival guide to get started or contact us to discuss your migration strategy.

