Spring Framework End-of-Life Dates —
Official EOL Schedule for Every Version
108 searches for "spring framework 5.3.20 end of life date" this week alone. Zero clicks. Either nobody has the answer or nobody trusts the ones they're finding. Let's fix that.
Spring Framework 6.0 reached open-source end of life on June 30, 2024. Spring Framework 5.3 followed on August 31, 2024. Spring Framework 6.1 went EOL on June 30, 2025 — and Spring 6.2 crossed its own OSS EOL date on June 30, 2026. That means four major Spring versions are currently EOL with no open-source patches coming. The only currently supported OSS release is Spring Framework 7.0, shipped November 30, 2025.
This is the single authoritative reference for Spring Framework end-of-life dates across every major version — with EOL Risk Score™s™, migration notes, and plain-English guidance on what to do if you're running past end of support.
- Complete Spring Framework EOL schedule
- Spring Framework 5.3 — EOL August 31, 2024
- Spring Framework 6.0 — EOL June 30, 2024
- Spring Framework 6.1 — EOL June 30, 2025
- Spring Framework 6.2 — EOL June 30, 2026 (Spring 7.0 is current)
- What about Spring Boot?
- EOL Risk Score™ breakdown
- How to migrate safely
Complete Spring Framework EOL Schedule
Spring Framework follows a release train with each major version supported for approximately 1-3 years. The table below covers every major version and its official end-of-life date as published by VMware/Broadcom and the Spring team.
| Version | Released | End of Life | Status | EOL Risk Score™ |
|---|---|---|---|---|
| Spring 4.3 | Jun 2016 | Dec 31, 2020 | EOL | 80 |
| Spring 5.0 | Sep 2017 | Dec 31, 2020 | EOL | 80 |
| Spring 5.1 | Sep 2018 | Dec 31, 2020 | EOL | 80 |
| Spring 5.2 | Sep 2019 | Dec 31, 2021 | EOL | 80 |
| Spring 5.3 | Oct 2020 | Aug 31, 2024 | EOL | 75 |
| Spring 6.0 | Nov 2022 | Jun 30, 2024 | EOL | 80 |
| Spring 6.1 | Nov 2023 | Jun 30, 2025 | EOL | 75 |
| Spring 6.2 | Nov 2024 | Jun 30, 2026 | EOL | 65 |
| Spring 7.0 | Nov 2025 | Jul 31, 2027 | Active | 40 |
Spring Framework 5.3 — End of Life August 31, 2024
Spring Framework 5.3 reached open-source end of life on August 31, 2024. It was the last version in the Spring 5.x line and the last version to support Java 8 and Java 11 as a minimum requirement. Many enterprise teams stayed on 5.3 specifically because migrating to Spring 6.x requires Java 17 as a minimum.
Spring Framework 5.3.20 — the version appearing in so many search queries — is a specific patch release within the 5.3.x line. The entire 5.3.x line is EOL as of August 31, 2024. It doesn't matter whether you're on 5.3.18, 5.3.20, or 5.3.39 — all are unsupported.
The Java version migration problem
The biggest reason teams are still on Spring 5.3 is the Java requirement. Spring 6.x requires Java 17 minimum. If your application runs on Java 8 or Java 11 — still extremely common in enterprise environments — you cannot upgrade to Spring 6.x without first upgrading Java. That's two migrations instead of one.
- Audit your current Java version first —
java -version - If on Java 8 or 11, plan the Java 17 upgrade alongside the Spring upgrade
- Java 17 is LTS and supported until September 2029 — a solid foundation
- Use
jdepsto check for internal Java API usage that breaks in Java 17
Spring Framework 6.0 — End of Life June 30, 2024
Spring Framework 6.0 reached open-source end of life on June 30, 2024 — two months before Spring 5.3. Teams that migrated to 6.0 to stay current found themselves EOL faster than expected. Spring 6.0 was the first version to require Java 17 and Jakarta EE 9.
The good news: the migration from Spring 6.0 to Spring 7.0 is significantly less painful than 5.3 to 6.x. You're already on Java 17, already on Jakarta EE namespace, already on the modern baseline. Most codebases can complete this migration in days rather than weeks.
Spring Framework 6.1 — End of Life June 30, 2025
Spring Framework 6.1 reached open-source end of life on June 30, 2025 — over a year ago. Teams that upgraded to 6.1 thinking they had runway until at least 2026 found the EOL came faster than expected. Spring's release cadence has accelerated significantly.
If you are running Spring Framework 6.1 today, the sensible move is to go straight to Spring 7.0 — 6.2, the next stop up, is already past its own OSS EOL date. The 6.1-to-7.0 jump is far smaller than the 5.3 migration: you are already on Java 17 and the Jakarta namespace.
Spring Framework 6.2 — End of Life June 30, 2026 (Spring 7.0 Is Current)
Spring Framework 6.2 reached open-source end of life on June 30, 2026. It is no longer receiving OSS security patches — commercial support via VMware Tanzu runs years longer for paying customers, but the free ride is over. The current supported OSS release is Spring Framework 7.0, shipped November 30, 2025 and supported until July 31, 2027.
Spring 7.0 requires Java 17 minimum and supports through Java 25, alongside Jakarta EE 11. Spring 6.2 introduced improved support for virtual threads (Project Loom), enhanced observability with Micrometer, and refinements to the annotation-based programming model — all of which carry forward into 7.0.
What About Spring Boot?
Spring Boot and Spring Framework have separate but related EOL schedules. Spring Boot versions are tied to specific Spring Framework versions — when the underlying framework goes EOL, the corresponding Boot version typically follows shortly.
- Spring Boot 2.7 — EOL June 30, 2023. Tied to Spring Framework 5.3.
- Spring Boot 3.0 — EOL December 31, 2023. Tied to Spring Framework 6.0.
- Spring Boot 3.1 — EOL June 30, 2024. Tied to Spring Framework 6.0.
- Spring Boot 3.2 — EOL December 31, 2024. Tied to Spring Framework 6.1.
- Spring Boot 3.3 — EOL June 30, 2025. Tied to Spring Framework 6.1.
- Spring Boot 3.4 — EOL December 31, 2025. Tied to Spring Framework 6.2.
- Spring Boot 3.5 — EOL June 30, 2026. Tied to Spring Framework 6.2.
- Spring Boot 4.0 — Supported until December 31, 2026. Tied to Spring Framework 7.0.
- Spring Boot 4.1 — Supported until July 31, 2027. Current stable.
Check the full Spring Boot EOL schedule on endoflife.ai for complete version dates.
EOL Risk Score™ Breakdown
Every Spring Framework version page on endoflife.ai carries an EOL Risk Score™ — a 0–100 score measuring the actual security and operational risk. Four factors:
- EOL Recency (40pts) — Spring 5.3, nearly two years past EOL, scores higher than Spring 6.2, which only crossed its EOL date in June 2026.
- Attack Surface (30pts) — Spring Framework processes HTTP requests, handles dependency injection, manages security contexts. It's a high-attack-surface framework — 20pts.
- CISA KEV Exposure (20pts) — Spring Framework has appeared in the CISA Known Exploited Vulnerabilities catalog. Spring4Shell (CVE-2022-22965) was a critical RCE vulnerability that made global headlines. EOL versions will never receive patches for similar future vulnerabilities.
- Extended Support (10pts) — Commercial extended support for EOL Spring Framework versions does exist (VMware Tanzu Spring runs to 2029 for 5.3 and 2032 for the 6.x line), which slightly tempers the urgency for teams willing to pay for it.
How to Migrate Safely
Migrating from Spring 5.3 to Spring 6.x/7.0
This is the most complex migration in the Spring ecosystem right now. Two major barriers: Java 17 requirement and the javax → jakarta namespace change.
- Step 1 — Upgrade Java to 17 first. Test your application on Java 17 before touching Spring. Fix any deprecated API usage flagged by
jdeps --jdk-internals. - Step 2 — Run the OpenRewrite migration. Use
org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3recipe to automatically migrate javax → jakarta namespaces and update Spring-specific patterns. - Step 3 — Update your dependency tree. Spring 6.x requires updated versions of Hibernate, Tomcat, Jackson, and most Spring ecosystem libraries. Run
./mvnw dependency:treeor./gradlew dependenciesand check each for 6.x compatibility. - Step 4 — Fix security configuration. Spring Security's configuration API changed significantly in 6.x. The
WebSecurityConfigurerAdapterwas removed — migrate to component-based security configuration. - Step 5 — Update CI and test on Java 17. Full regression test before promoting to production.
Migrating from Spring 6.0, 6.1, or 6.2 to Spring 7.0
Much simpler than the 5.3 jump. Update your Spring dependency version in pom.xml or build.gradle, run your test suite, and fix deprecation warnings — Spring 7.0 removes APIs deprecated in 6.x, so clear those warnings on 6.2 first. Most codebases complete this in days.