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 5.3 reached end of life on December 31, 2024. Spring Framework 6.0 followed on December 31, 2024 — the same date. Both versions went EOL simultaneously, leaving teams running either version with zero security patches from the same moment. Spring Framework 6.1 reaches EOL on December 31, 2025 — already past. That means three major Spring versions are currently EOL with no patches coming.
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 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 | 95 |
| Spring 5.0 | Sep 2017 | Dec 31, 2020 | EOL | 93 |
| Spring 5.1 | Sep 2018 | Dec 31, 2020 | EOL | 93 |
| Spring 5.2 | Sep 2019 | Dec 31, 2021 | EOL | 90 |
| Spring 5.3 | Nov 2020 | Dec 31, 2024 | EOL | 82 |
| Spring 6.0 | Nov 2022 | Dec 31, 2024 | EOL | 78 |
| Spring 6.1 | Nov 2023 | Dec 31, 2025 | EOL | 72 |
| Spring 6.2 | Nov 2024 | Dec 31, 2026 | Active | 35 |
Spring Framework 5.3 — End of Life December 31, 2024
Spring Framework 5.3 reached end of life on December 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 December 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 December 31, 2024
Spring Framework 6.0 reached end of life on December 31, 2024 — the same day as 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 6.2 is significantly less painful than 5.3 to 6.x. You're already on Java 17, already on Jakarta EE namespace, already on the 6.x baseline. Most codebases can complete this migration in days rather than weeks.
Spring Framework 6.1 — End of Life December 31, 2025
Spring Framework 6.1 reached end of life on December 31, 2025 — just five months 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 migration to 6.2 is the shortest path available and should be treated as urgent. Spring 6.1 to 6.2 is a minor version bump — most applications require only dependency version updates and a rebuild.
Spring Framework 6.2 — Current Stable, EOL December 31, 2026
Spring Framework 6.2 is the current supported release. It is supported until December 31, 2026 — giving you approximately 7 months of runway from today. That sounds comfortable. It isn't — particularly if you still need to complete a Java upgrade as part of the migration.
Spring 6.2 requires Java 17 minimum and supports Java 21 and Java 23. It introduces improved support for virtual threads (Project Loom), enhanced observability with Micrometer, and continued refinements to the annotation-based programming model.
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 November 18, 2023. Tied to Spring Framework 5.3.
- Spring Boot 3.0 — EOL November 18, 2023. Tied to Spring Framework 6.0.
- Spring Boot 3.1 — EOL November 18, 2023. Tied to Spring Framework 6.0.
- Spring Boot 3.2 — EOL November 18, 2024. Tied to Spring Framework 6.1.
- Spring Boot 3.3 — EOL November 18, 2025. Tied to Spring Framework 6.1.
- Spring Boot 3.4 — Supported until November 18, 2026. 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, over a year past EOL, scores higher than Spring 6.1, five months past EOL.
- 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) — No formal commercial extended support exists for EOL Spring Framework versions, increasing urgency.
How to Migrate Safely
Migrating from Spring 5.3 to Spring 6.2
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 or 6.1 to Spring 6.2
Much simpler. Update your Spring dependency version in pom.xml or build.gradle, run your test suite, fix any deprecation warnings. Most codebases complete this in a day.