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.
| Branch | First release | Free (OSS) support ends | Commercial ends | Java | Status on 2026-10-21 |
|---|---|---|---|---|---|
| 4.1.x | 2026-06-10 | 2027-07-31 | 2028-07-31 | 17 to 26 | Supported (OSS ends in 283 days) |
| 4.0.x | 2025-11-20 | 2026-12-31 | 2027-12-31 | 17 to 26 | Supported (OSS ends in 71 days) |
| 3.5.x | 2025-05-22 | 2026-06-30 | 2032-06-30 | 17 to 25 | Commercial support only |
| 3.4.x | 2024-11-21 | 2025-12-31 | 2026-12-31 | 17+ | Commercial support only |
| 3.3.x | 2024-05-23 | 2025-06-30 | 2026-06-30 | 17+ | End of life |
| 3.2.x | 2023-11-23 | 2024-12-31 | 2025-12-31 | 17+ | End of life |
| 3.1.x | 2023-05-18 | 2024-06-30 | 2025-06-30 | 17+ | End of life |
| 3.0.x | 2022-11-24 | 2023-12-31 | 2024-12-31 | 17+ | End of life |
| 2.7.x | 2022-05-19 | 2023-06-30 | 2029-06-30 | 8 to 21 | Commercial 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 ofspring-boot-x.y.0.pomon 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
| Branch | First release | Free (OSS) support ends | Commercial ends | Java | Status on 2026-10-21 |
|---|---|---|---|---|---|
| 4.1.x | 2026-06-10 | 2027-07-31 | 2028-07-31 | 17 to 26 | Supported (OSS ends in 283 days) |
| 4.0.x | 2025-11-20 | 2026-12-31 | 2027-12-31 | 17 to 26 | Supported (OSS ends in 71 days) |
| 3.5.x | 2025-05-22 | 2026-06-30 | 2032-06-30 | 17 to 25 | Commercial support only |
| 3.4.x | 2024-11-21 | 2025-12-31 | 2026-12-31 | 17+ | Commercial support only |
| 3.3.x | 2024-05-23 | 2025-06-30 | 2026-06-30 | 17+ | End of life |
| 3.2.x | 2023-11-23 | 2024-12-31 | 2025-12-31 | 17+ | End of life |
| 3.1.x | 2023-05-18 | 2024-06-30 | 2025-06-30 | 17+ | End of life |
| 3.0.x | 2022-11-24 | 2023-12-31 | 2024-12-31 | 17+ | End of life |
| 2.7.x | 2022-05-19 | 2023-06-30 | 2029-06-30 | 8 to 21 | Commercial support only |
| 2.6.x | 2021-11-19 | 2022-11-30 | 2024-02-29 | 8+ | End of life |
| 2.5.x | 2021-05-20 | 2022-05-31 | 2023-08-31 | 8+ | End of life |
| 2.4.x | 2020-11-12 | 2021-11-30 | 2023-02-28 | 8+ | End of life |
| 2.3.x | 2020-05-15 | 2021-05-31 | 2022-08-31 | 8+ | End of life |
| 2.2.x | 2019-10-16 | 2020-10-31 | 2022-01-31 | 8+ | End of life |
| 2.1.x | 2018-10-30 | 2019-10-31 | 2021-01-31 | 8+ | End of life |
| 2.0.x | 2018-03-01 | 2019-03-31 | 2020-06-30 | 8+ | 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
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 line | Minimum Java | Maximum tested (docs) | Notes |
|---|---|---|---|
| 4.1.x | 17 | 26 | Spring Framework 7.0.9 or newer |
| 4.0.x | 17 | 26 | Spring Framework 7.0.9 or newer |
| 3.5.x | 17 | 25 | Spring Framework 6.2.19 or newer |
| 3.0 to 3.4 | 17 | (not verified here) | Boot 3.0 moved to Java 17 and Jakarta EE |
| 2.7.x | 8 | 21 | Spring 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
| From | Go to | What breaks | Read |
|---|---|---|---|
| 2.7.x | 3.5.x | Java 17 minimum, javax to jakarta, Spring Security 6 config | Run 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.x | 4.1.x directly | Modular starters, Jackson 3, test annotations (@MockBean to @MockitoBean), JPA 4 | Guide: 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.x | 4.1.x | Minor changes; do it before 2026-12-31 | Release 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.versionproperty 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
- Spring project API: Boot generations and support dates
- Spring Boot system requirements
- Spring Boot tutorial for beginners
- Spring Boot annotations list
- Spring vs Spring Boot vs Spring MVC
- Spring Boot 3 to 4 Migration Guide: What Actually Breaks, Why It Breaks, and How to Fix It
- Spring Boot 3.x Is EOL. Don’t Stop at 4.0. Target 4.1 Instead.
- Automating javax → jakarta and Boot 3 → 4 Upgrades with OpenRewrite
- Spring Boot 4.2 Preview: AMQP 1.0, Buildpack Image Cache and What to Test Now
- Top 40 Java Collections interview questions
- Top 40 Java concurrency interview questions
No Comments yet!