BlogSpring

Spring Boot 2.7: Upgrade or Extended Support?

Scott Sternloff

By Scott Sternloff, Senior Enterprise Architect

LinkedIn · Updated · 6 min read

Spring Boot 2.7: Upgrade or Extended Support?
On this page

Upgrade Spring Boot 2.7 if the application will outlive 2029, and use extended support to cover the time the upgrade takes, not to avoid it. Open source support for 2.7 ended on 30 June 2023, the last public release is 2.7.18 from 23 November 2023, and Spring lists commercial support for the line until 30 June 2029. That window makes staying a legitimate choice. It does not make it a free one.

Three questions settle most cases: how many applications are on 2.7, whether they already run on Java 17, and when the next release train has room. The rest of this post covers what the upgrade involves, where to land, and when extended support is the right bridge. Dates for every Boot line are in Spring Boot end of life: EOL dates for 2.7, 3.x and 4.x.

What the Upgrade from Spring Boot 2.7 to 3 Involves

The jump from 2.7 to 3.x is the hard one. Spring's Spring Boot 3.0 migration guide sets the order, and most of the work falls in five places:

  • Latest 2.7.x first. The guide says to upgrade to the latest 2.7.x before you start, which is 2.7.18.
  • Java 17. Spring Boot 2.7.18 requires Java 8 and is compatible up to Java 21. Spring Boot 3.0 requires Java 17 or later. For many 2.7 applications the JDK change is a project on its own.
  • javax to jakarta. Jakarta EE now uses jakarta packages, not javax, so imports change and every dependency, direct or transitive, needs a release that uses the new packages. Libraries Boot does not manage, Spring Cloud for one, need a compatible version chosen before you start.
  • Components that changed underneath you. Boot 3.0 moves to Spring Security 6.0, which applies authorization to every dispatch type, to Hibernate 6.1 and to Spring Batch 5.0, where @EnableBatchProcessing is now discouraged. Only the health endpoint is exposed over JMX by default, and classes deprecated in 2.x are gone.
  • The embedded server. Boot 2.7 embeds Tomcat 9.0 on Servlet 4.0. Boot 4.1 needs Servlet 6.1, which means Tomcat 11 or Jetty 12.1.

The spring-boot-properties-migrator module reports renamed and removed properties while you work. Take it out once the migration is done.

Where to Land: Spring Boot 3.5, 4.0 or 4.1

Spring Boot 3.5 is the obvious landing spot and the wrong place to stop. Its open source support ended on 30 June 2026, so a team that stops there is back to needing a patch route within months. It does carry the longest commercial window of any line, to 30 June 2032, which makes it a sound stop where Boot 4 is too much for now.

Boot 4.0 has open source support to 31 December 2026 and commercial support to 31 December 2027. Boot 4.1 has open source support to 31 July 2027 and commercial support to 31 July 2028. The Spring Boot 4.0 migration guide says to upgrade to the latest 3.5.x first, so the realistic path is 2.7, then 3.x, then 3.5, then 4.x. Both hops need Java 17, and Boot 4 adds its own changes: Jackson 3 as the preferred JSON library, smaller modules in place of large jars, and no Undertow support.

When Extended Support Is the Right Call

Spring Boot 2.7: upgrade, extended support or stay unsupported
OptionWhat it meansFits whenWatch for
UpgradeMove to a supported line through the documented path: latest 2.7.x, then 3.x, 3.5 and 4.x, all on Java 17 or later.One or two applications on 2.7, already on Java 17, and a team with a quarter.javax to jakarta across every dependency, Spring Security 6 and Hibernate 6.1. Stopping at 3.5 means needing a patch route again, since its open source support ended on 30 June 2026.
Extended supportPay for commercial support on the line you run. Spring lists it for 2.7 until 30 June 2029.Dozens of applications on separate release trains, a dependency with no jakarta release, an audit or freeze, or a thin test suite.Paid every year until you upgrade anyway. It does not move your JDK, your libraries or Tomcat 9 forward.
Stay unsupportedKeep running 2.7.18 with no patch route.Rarely. At most an application already scheduled for retirement.Open source support for Boot 2.7 and Spring Security 5.7 ended in 2023 and for Spring Framework 5.3 on 31 August 2024, so new vulnerabilities get no public patches.

Extended support is the right call when:

  • Dozens of applications sit on 2.7 and each has to move on its own release train. Support covers the ones still waiting.
  • A dependency has no jakarta release, or a vendor-supplied library pins you to Java 8.
  • An audit, a certified environment or a freeze makes a change riskier than a patch.
  • The test suite is too thin to trust a two-hop upgrade.

Upgrading is the right call when one or two applications are on 2.7, they already run on Java 17, and the team has a quarter. The upgrade is a fixed cost. A subscription is paid every year until you do it anyway.

Extended support patches the line you run. It does not move your JDK, your libraries or Tomcat 9 forward, and the EOL guide lists which Framework and Security versions sit behind 2.7. The paid routes are Broadcom's Spring subscription, which AceMQ resells to US customers, and other vendors; Tanzu Spring licensing and consulting sets out the Broadcom route.

A Practical Order of Work

This order isolates one kind of failure at each step:

  1. Inventory every Spring Boot application with ./mvnw dependency:tree or ./gradlew dependencies, and record the Boot, Framework and Security versions and the JDK.
  2. Move to 2.7.18 and add the properties migrator.
  3. Move the JDK to 17 while still on 2.7, which Boot 2.7.18 supports. A failure now is a JDK problem, not a Spring one.
  4. Do the jakarta and Spring Security 6 work on the way to 3.5.
  5. Move to 4.x when the application next has a release window.

AceMQ inventories Spring estates, picks a route for each application and supports the result 24/7 with a 15-minute emergency response. For a Spring Boot 2.7 or 3.x estate, see Spring Boot extended support and upgrade services.

Sources

Frequently Asked Questions

Is Spring Boot 2.7 still supported?

Not by the open source project: support ended on 30 June 2023 and the last public release is 2.7.18, published on 23 November 2023. Spring lists commercial support for Spring Boot 2.7 until 30 June 2029.

Can I upgrade from Spring Boot 2.7 straight to 4.x?

Not as a documented path. The Spring Boot 3.0 guide starts from the latest 2.7.x, and the 4.0 guide starts from the latest 3.5.x, so plan the move as 2.7 to 3.x to 3.5 to 4.x.

Does Spring Boot 2.7 run on Java 21?

Yes. Spring Boot 2.7.18 requires Java 8 and is compatible up to and including Java 21. Spring Boot 3.0 and 4.0 both require Java 17 or later, so moving the JDK to 17 first is a safe first step.

What is the main work in moving from Spring Boot 2.7 to 3?

Java 17, the move from javax to jakarta packages across your code and every dependency, and the components that changed major version: Spring Security 6, Hibernate 6.1 and Spring Batch 5. Run the properties migrator while you work.

Is it safe to stay on Spring Boot 2.7 without extended support?

Open source support for Boot 2.7 and Spring Security 5.7 ended in 2023, and Spring Framework 5.3 followed on 31 August 2024, so new vulnerabilities in those versions will not get public patches. Staying without a patch route means accepting that exposure.

Scott Sternloff

Author

Scott SternloffSenior Enterprise Architect

Senior Enterprise Architect at AceMQ. Writes the technical coverage here: RabbitMQ, Kafka and Redis architecture, clustering and migrations.

Talk to an engineer

Need a hand with Spring?

Senior engineers who run it in production. Get a quote or a free consultation, no sales pitch.

Free Consultation

Get Expert Eyes on Your Spring Environment

Whether you're troubleshooting a production incident, planning a migration, or want a second opinion on your architecture — our team is ready. No pitch, just answers.

Email Us