Skip to main content

Spring Boot Versions: Release and Support Dates, Java Baselines and Upgrade Path (2.x, 3.x, 4.x)

Every Spring Boot version from 2.0 to 4.1 with real release dates, free and commercial support end dates, Java baselines, the upgrade path from 2.7 and 3.5, and how to check your version.

The current Spring Boot release is 4.1.1 (Maven Central, 2026-08-20). Boot 4.1 needs Java 17 or newer and works up to Java 26. Open-source support for 4.1 runs to 2027-07-31; Boot 3.5 stopped getting free updates on 2026-06-30 and Boot 4.0 stops on 2026-12-31.

BranchFirst releaseFree (OSS) support endsCommercial endsJavaStatus on 2026-10-21
4.1.x2026-06-102027-07-312028-07-3117 to 26Supported (OSS ends in 283 days)
4.0.x2025-11-202026-12-312027-12-3117 to 26Supported (OSS ends in 71 days)
3.5.x2025-05-222026-06-302032-06-3017 to 25Commercial support only
3.4.x2024-11-212025-12-312026-12-3117+Commercial support only
3.3.x2024-05-232025-06-302026-06-3017+End of life
3.2.x2023-11-232024-12-312025-12-3117+End of life
3.1.x2023-05-182024-06-302025-06-3017+End of life
3.0.x2022-11-242023-12-312024-12-3117+End of life
2.7.x2022-05-192023-06-302029-06-308 to 21Commercial support only
Sources. Support dates come from Spring’s own project API (api.spring.io/projects/spring-boot/generations). First-release dates are the publication dates of spring-boot-x.y.0.pom on Maven Central; Spring’s API lists the planned month-end instead, which is why the two differ by days or weeks (4.1 was planned for 2026-06-30 and shipped 2026-06-10). Java ranges are from each version’s reference documentation: 4.1.1, 4.0.8 (17 to 26), 3.5.16 (17 to 25) and 2.7.18 (8 to 21). Boot 3.0 to 3.4 only have their minimum verified (the 3.0 release notes: Java 17).

The full table, 2.0 to 4.1

BranchFirst releaseFree (OSS) support endsCommercial endsJavaStatus on 2026-10-21
4.1.x2026-06-102027-07-312028-07-3117 to 26Supported (OSS ends in 283 days)
4.0.x2025-11-202026-12-312027-12-3117 to 26Supported (OSS ends in 71 days)
3.5.x2025-05-222026-06-302032-06-3017 to 25Commercial support only
3.4.x2024-11-212025-12-312026-12-3117+Commercial support only
3.3.x2024-05-232025-06-302026-06-3017+End of life
3.2.x2023-11-232024-12-312025-12-3117+End of life
3.1.x2023-05-182024-06-302025-06-3017+End of life
3.0.x2022-11-242023-12-312024-12-3117+End of life
2.7.x2022-05-192023-06-302029-06-308 to 21Commercial support only
2.6.x2021-11-192022-11-302024-02-298+End of life
2.5.x2021-05-202022-05-312023-08-318+End of life
2.4.x2020-11-122021-11-302023-02-288+End of life
2.3.x2020-05-152021-05-312022-08-318+End of life
2.2.x2019-10-162020-10-312022-01-318+End of life
2.1.x2018-10-302019-10-312021-01-318+End of life
2.0.x2018-03-012019-03-312020-06-308+End of life

Free support ends 12 to 13 months after a minor version ships. Commercial support adds roughly another year. Two branches are marked extended by Spring: 2.7.x (to 2029-06-30) and 3.5.x (to 2032-06-30), the last release of each major line. Those are paid; the free line stops at the date in the third column.

The timeline

2025202620272028Boot 3.5.xBoot 4.0.xBoot 4.1.xtoday: 21 Oct 2026Green: open-source support. Amber: commercial support only (3.5 runs to 2032-06-30, past the chart edge).

The red line is today. Boot 3.5 (top) is already in the amber, paid-only zone. Boot 4.0 has under three months of free support left, so a team on 4.0 should not plan to stay. Boot 4.1 is the only branch with a long free runway, which is why the 3.x EOL post recommends landing on 4.1 and not stopping at 4.0.

Java baselines

Boot lineMinimum JavaMaximum tested (docs)Notes
4.1.x1726Spring Framework 7.0.9 or newer
4.0.x1726Spring Framework 7.0.9 or newer
3.5.x1725Spring Framework 6.2.19 or newer
3.0 to 3.417(not verified here)Boot 3.0 moved to Java 17 and Jakarta EE
2.7.x821Spring Framework 5.3.31 or newer; still javax packages

Java 17 is the floor for every Boot version you should still be running. If you are on Boot 2.7 and Java 8 or 11, the Java upgrade comes first. For which JDK to run Boot 4 on, see JVM Flags for Spring Boot in Containers (JDK 25/27): The Production Cheat Sheet.

The upgrade path

FromGo toWhat breaksRead
2.7.x3.5.xJava 17 minimum, javax to jakarta, Spring Security 6 configRun OpenRewrite first: Automating javax → jakarta and Boot 3 → 4 Upgrades with OpenRewrite; security: Spring Security 5 to 6 to 7 Migration: SecurityFilterChain, Lambda DSL, and the Silent Authorization Changes
3.5.x4.1.x directlyModular starters, Jackson 3, test annotations (@MockBean to @MockitoBean), JPA 4Guide: Spring Boot 3 to 4 Migration Guide: What Actually Breaks, Why It Breaks, and How to Fix It; JPA: Spring Data JPA 3 to 4 Migration Guide: What Breaks, What Changes, and What Stays the Same
4.0.x4.1.xMinor changes; do it before 2026-12-31Release notes; the 4.2 preview for what is next

Do not hop through every minor version. Go to the latest patch of 3.5, fix deprecation warnings there (Boot removes what a previous minor deprecated), then jump to 4.1. A team on 3.5 should not detour via 4.0: it has 71 days of free support left and 4.1 is the supported destination.

How to check which Boot version you run

Four ways, all run against the demo app from the Spring Boot tutorial (DemoApplication.java, pom.xml):

$ unzip -p target/demo-1.0.0.jar META-INF/MANIFEST.MF | grep Spring-Boot
Spring-Boot-Version: 4.1.1
Spring-Boot-Classes: BOOT-INF/classes/
$ mvn help:evaluate -Dexpression=project.parent.version -q -DforceStdout
4.1.1

$ mvn dependency:tree | grep spring-boot-starter-webmvc
+- org.springframework.boot:spring-boot-starter-webmvc:jar:4.1.1:compile
\- org.springframework.boot:spring-boot-starter-validation:jar:4.1.1:compile
$ java -jar demo-1.0.0.jar  (banner line)
 :: Spring Boot ::                (v4.1.1)

The manifest and the banner tell you what a built jar contains. The Maven commands tell you what a project will build. If a library is stuck on an old version, mvn dependency:tree shows which dependency pulled it in.

Should you chase the newest version? Stay on a branch that still has free support. As of today that means 4.0 (briefly) or 4.1, and 4.2 once it ships. Spring plans 4.2.x for 2026-11-30 (milestone 4.2.0-M2 is on Maven Central; wait for GA before production). If a vendor pins you to an older line, buy the commercial support or accept the unpatched-CVE risk knowingly. Surviving the AI Vulnerability Wave: How to Automate Spring Boot Dependency Patches covers automating patch upgrades.

Common interview questions

What is the latest version of Spring Boot?

4.1.1 as of 2026-10-21 (published 2026-08-20). A 4.2.0 milestone exists but is not GA.

Which Java version does Spring Boot 4 require?

Java 17 at minimum, and it is documented as compatible up to Java 26.

Is Spring Boot 3.x end of life?

Open-source support for every 3.x branch has ended (3.5 on 2026-06-30). Commercial support for 3.5 continues to 2032-06-30.

When does Spring Boot 4.0 lose support?

Free support ends 2026-12-31 and commercial support on 2027-12-31.

How do I check my Spring Boot version?

Look at the parent version in pom.xml, run mvn dependency:tree, read the startup banner, or read Spring-Boot-Version in the jar manifest (all shown above).

Common mistakes

  • Upgrading Java and Boot in one commit. Do the Java upgrade first so failures are attributable.
  • Assuming a third-party site’s Java range is current. endoflife.date lists Boot 4.0 as supporting Java 17 to 25, while the 4.0.8 reference documentation says 17 to 26.
  • Reading “supported” as “patched.” After OSS support ends, patch releases are paid-only.
  • Pinning only the parent and forgetting the BOM overrides. A manual spring-framework.version property can leave the framework out of step with Boot.
  • Staying on 2.7 “because it works.” It is javax-based and past free support since 2023-06-30.

FAQ

What Spring Boot version should I use for a new project?

The latest GA, today 4.1.x, on Java 21 or 25.

Does Spring Boot 4 run on Java 21?

Yes. The demo app on this page ran on OpenJDK 21.0.12.

How long is a Spring Boot version supported?

About 13 months free and about 25 months in total with commercial support for a minor version; the last minor of a major line gets extended commercial support for years.

Further reading

No Comments yet!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.