// End-of-life dates
End-of-life dates by technology
Community end-of-life dates for the enterprise open source layer, each with the source it came from. Other trackers give you the date. These pages give you what stops, what actually breaks in the upgrade, what it costs, and what an auditor will say — including when the honest answer is that you do not need us.
Every version, by technology
Release timelines and end-of-life dates for each project, refreshed daily from upstream data.
- RabbitMQ end of life18 versions · 1 supported
- Apache Kafka end of life30 versions · 4 supported
- ActiveMQ Classic end of life24 versions · 2 supported
- ActiveMQ Artemis end of life12 versions · 1 supported
- Apache Pulsar end of life14 versions · 1 supported
- Erlang/OTP end of life13 versions · 3 supported
- Apache Camel end of life47 versions · 2 supported
- Spring Framework end of life10 versions · 1 supported
- Spring Boot end of life17 versions · 2 supported
- Spring Security end of life18 versions · 2 supported
- Apache Tomcat end of life9 versions · 3 supported
- PostgreSQL end of life29 versions · 5 supported
- Redis end of life12 versions · 9 supported
- Valkey end of life5 versions · 5 supported
- GemFire and Geode end of life6 versions · 3 supported
- Node.js end of life26 versions · 3 supported
- .NET end of life13 versions · 3 supported
- MongoDB end of life33 versions · 4 supported
- Elasticsearch end of life12 versions · 3 supported
- OpenSearch end of life3 versions · 2 supported
- Apache ZooKeeper end of life6 versions · 2 supported
- Apache Solr end of life9 versions · 2 supported
- Apache NiFi end of life23 versions · 1 supported
- Apache HBase end of life7 versions · 3 supported
- Apache Hadoop end of life18 versions · 4 supported
- Apache Hive end of life6 versions · 1 supported
- Apache Druid end of life10 versions · 2 supported
- ClickHouse end of life21 versions · 4 supported
- etcd end of life8 versions · 3 supported
- HashiCorp Consul end of life18 versions · 3 supported
- Apache Storm end of life8 versions · 1 supported
- Apache Flink end of life8 versions · 4 supported
- Hazelcast end of life12 versions · 2 supported
- Apache Ignite end of life10 versions · 2 supported
Coming up
Dates still ahead. These are the ones you can still plan around rather than react to.
- HashiCorp Consul 1.2231 October 202624 daysConsul 1.22 reaches end of support on 31 October 2026. The last Community and Enterprise builds, why 2.0 is the only forward line, and what the BSL means for your options.
- .NET 810 November 202634 days.NET 8 support ends on 10 November 2026, the final Patch Tuesday, the same day as .NET 9. What stops, the move to .NET 10, and how to stay patched if you cannot move in time.
- .NET 910 November 202634 days.NET 9 is a Standard Term Support release that reaches end of support on 10 November 2026, alongside .NET 8. The latest build, the move to .NET 10, and patched .NET 9 runtimes.
- PostgreSQL 1412 November 202636 daysPostgreSQL 14 reaches end of life on 12 November 2026. The RDS, Aurora and Azure extended support dates and how they charge, whether to target 17, 18 or 19, and patched 14 builds.
- RabbitMQ 4.330 November 202654 daysRabbitMQ 4.3 leaves community support on 30 November 2026 and Broadcom commercial support on 30 April 2028. The latest public release, the Khepri and Erlang notes, and patched 4.3 builds.
- Spring Boot 4.031 December 202685 daysSpring Boot 4.0 open source support ends on 31 December 2026; commercial support runs to 31 December 2027. The latest release, the 4.1 upgrade, and patched 4.0 artifacts.
- Spring Security 7.031 December 202685 daysSpring Security 7.0 open source support ends on 31 December 2026, alongside Spring Boot 4.0. The 2026 CVEs, the move to 7.1, and patched 7.0 artifacts.
- Apache Camel 4.18 LTSFebruary 2027144 daysApache Camel 4.18 LTS reaches end of life in February 2027. Camel supports each LTS for about a year; what that cadence means for integration estates.
- Apache Tomcat 9.031 March 2027175 daysTomcat 9.0 reaches end of life on 31 March 2027. What stops, why the javax to jakarta rename needs the most lead time of any upgrade, and the bridge options.
- Redis 6.21 April 2027176 daysRedis Open Source 6.2 reaches end of life on 1 April 2027; the latest release is 6.2.24. Licence choices for the upgrade, ElastiCache Extended Support, and patched 6.2 builds after the date.
- Node.js 2230 April 2027205 daysNode.js 22 reaches end of life on 30 April 2027 and is in maintenance now. Whether to move to 24 or 26, the new yearly release schedule, and patched Node.js 22 builds.
- Erlang/OTP 2720 May 2027225 daysErlang/OTP 27 reaches end of life on 20 May 2027. Why that date is also a deadline for RabbitMQ 4.x releases capped at Erlang 27.x, and how to plan the pair.
- Elasticsearch 8.x15 July 2027281 daysElastic ends Elasticsearch 8.x maintenance on 15 January 2027 and support on 15 July 2027. Why only 8.19 is maintained, the 8.19 to 9.x upgrade, 7.x indices, and patching.
- MongoDB 7.031 August 2027328 daysMongoDB 7.0 reaches end of life on 31 August 2027. The 8.0 and 9.0 support dates, CVE-2025-14847 and 7.0.28, the one-step upgrade to 8.0, and patched 7.0 builds after EOL.
- Apache Pulsar 4.0 LTS21 October 2027379 daysPulsar 4.0 LTS leaves active support on 21 October 2026 and security support on 21 October 2027. What 5.0 LTS means for the upgrade, and how to keep 4.0 patched.
- PostgreSQL 1511 November 2027400 daysPostgreSQL 15 is supported until 11 November 2027; 15.19 is the current minor. Which major to upgrade to, the PostgreSQL 18 checksum change, and patched 15 builds after the date.
Already end of life
Most recent first. Every one of these lines still runs somewhere in production.
- Redis 7.21 December 2029Redis 7.2 is supported until 1 December 2029 and is the last BSD-3-Clause Redis line. The recent security releases, the licence question for 7.4 and 8, and Valkey.
- RabbitMQ 4.231 July 2026RabbitMQ 4.2 left community support on 31 July 2026; 4.2.9 is the last public release. The CVEs fixed only in 4.2.10, the Khepri step before 4.3, and patched 4.2 builds.
- Apache Storm 222 July 2026Apache Storm 2 reached end of life on 22 July 2026 with 2.8.9. What Storm 3 needs (Java 25, no Clojure), the ZooKeeper under it, and keeping Storm 2 patched.
- Spring Boot 3.530 June 2026Spring Boot 3.5 open source support ended on 30 June 2026; commercial support runs to 2032. The last release, the CVEs it carries, the move to Boot 4.1, and patched 3.5 artifacts.
- Spring Framework 630 June 2026Spring Framework 6.2 open source support ended on 30 June 2026, the last 6.x line. The August 2026 CVEs fixed only in commercial releases, the move to 7.0, and patched 6.x artifacts.
- Spring Security 630 June 2026Spring Security 6.5 open source support ended on 30 June 2026. The 2026 CVEs fixed only in commercial 6.5.12, the 6.4 commercial date, the move to 7.1, and patched 6.x artifacts.
- etcd 3.41 June 2026etcd 3.4 reached end of life on 1 June 2026 with 3.4.45 as the final patch. The auth and v2store traps in the 3.5 and 3.6 upgrades, and how to stay patched.
- Erlang/OTP 2626 May 2026Erlang/OTP 26 reached end of life on 26 May 2026 with no more security patches. What stops, why the runtime moves with the broker, and how to stay patched.
- Apache Pulsar 3.0 LTS2 May 2026Pulsar 3.0 LTS security support ended on 2 May 2026; 3.0.17 was the last release. Pulsar 4.0 LTS dates, upgrade notes and how to keep 3.0 patched.
- Node.js 2030 April 2026Node.js 20 reached end of life on 30 April 2026; v20.20.2 was the last release. The CVEs fixed since then, upgrade notes for Node.js 22 and 24, and how to keep Node 20 patched.
- HashiCorp Consul 1.1830 April 2026Consul 1.18 LTS reached end of support on 30 April 2026. The one-hop upgrade to 1.21, what 2.0 and IBM support change, and how the BSL licence affects options.
- Tanzu GemFire 10.030 April 2026Tanzu GemFire 10.0 left Broadcom general support on 30 April 2026; 10.0.8 was the last patch. Why 10.1 is a short stop, the 10.2 and 10.3 dates, Geode, and CVE coverage.
- Apache Kafka 3.921 February 2026 (final release; line archived)Apache Kafka 3.9 is archived; 3.9.2 on 21 February 2026 was the final release and bundles ZooKeeper 3.8.4. The KRaft migration, 4.x client limits, and patched Kafka 3.9 builds.
- RabbitMQ 4.131 January 2026RabbitMQ 4.1 left community support on 31 January 2026 and leaves Broadcom commercial support on 30 April 2027. The unfixed CVEs, the route to 4.3 through 4.2, and patched 4.1 builds.
- Elasticsearch 7.1715 January 2026Elasticsearch 7.17 reached end of life on 15 January 2026; 7.17.29 was the last release. Unfixed 7.x CVEs, the 8.x path, OpenSearch, and extended support.
- Apache ActiveMQ Classic 6.12 December 2025ActiveMQ Classic 6.1 has been inactive since 2 December 2025; 6.1.8 was the last release. CVE-2026-34197 with no 6.1 fix, why 6.3 is the target, and patched 6.1 builds.
- PostgreSQL 1313 November 2025PostgreSQL 13 reached end of life on 13 November 2025. Why data-corruption fixes matter more than CVEs, what breaks in a major upgrade, and staying patched.
- Tanzu GemFire 9.1531 October 2025Tanzu GemFire 9.15 left Broadcom general support on 31 October 2025; 9.15.16 was the last patch. Supported 10.x lines, what changes in GemFire 10, Geode, and CVE coverage.
- MongoDB 6.031 July 2025MongoDB 6.0 reached end of life on 31 July 2025. Post-EOL releases, 7.0 and 8.0 support dates, the one-version-at-a-time upgrade, and extended support options.
- Erlang/OTP 2517 May 2025Erlang/OTP 25 reached end of life on 17 May 2025. What stopped, why it is a wider upgrade than one major, and how to keep the line patched meanwhile.
- Node.js 1830 April 2025Node.js 18 went end of life on 30 April 2025 at 18.20.8. Why its bundled OpenSSL is riskier than an OS scan shows, why image CVE counts jumped, and what to do.
- RabbitMQ 4.030 April 2025RabbitMQ 4.0 left community support on 30 April 2025 and leaves Broadcom commercial support on 30 September 2026. Last public release 4.0.9, the 4.2 stop before 4.3, and patched 4.0 builds.
- Apache ActiveMQ Classic 5.18March 2025ActiveMQ Classic 5.18 is end of life; 5.18.7 was the last release and CVE-2026-34197 has no 5.18 fix. Upgrade paths to 5.19, 6.x or Artemis, and patching.
- Apache Camel 39 March 2025 (final release)Apache Camel 3 is end of life: 3.22.4 shipped on 9 March 2025 as the final release. What stops, why Camel 4 is a Jakarta migration, and how to stay patched.
- PostgreSQL 1221 November 2024PostgreSQL 12 went end of life on 21 November 2024. What stopped, the collation trap in major upgrades, and how to stay patched on 12 while you move.
- Apache NiFi 1.x19 November 2024 (final release)NiFi 1.x ended with 1.28.1 on 19 November 2024. NiFi 2 needs Java 21 and a step through 1.27.0 first. What stops, what 2.0 removed, and how to stay patched.
- .NET 612 November 2024.NET 6 went out of support on 12 November 2024. What stopped, why your image scans light up, the upgrade path to .NET 10, and staying patched on 6 as you move.
- Apache Kafka 3.86 November 2024Kafka 3.8 went end of life on 6 November 2024. Why 3.9 is the mandatory bridge off ZooKeeper, why the KRaft migration has no rollback, and how to stay patched.
- MongoDB 5.031 October 2024MongoDB 5.0 reached end of life on 31 October 2024. Post-EOL releases up to 5.0.34, CVE-2025-14847, the three-step upgrade to 8.0, and committed patches for 5.0.
- Apache Solr 825 October 2024Solr 8 reached end of life on 25 October 2024; 8.11.4 was the final release. Why upgrading means a reindex and a relevance regression, and how to stay patched.
- Apache Hive 38 October 2024Apache Hive 3 reached end of life on 8 October 2024; 3.1.3 was the last release and bundles ZooKeeper 3.4.6. What Hive 4 changes, and keeping Hive 3 patched.
- RabbitMQ 3.1330 September 2024RabbitMQ 3.13 community support ended 30 September 2024, and Erlang 26 in May 2026. Why mirrored queues and Khepri block the upgrade, and how to stay patched.
- Spring Framework 5.331 August 2024 (OSS support)Spring Framework 5.3 ended open-source support on 31 August 2024 at 5.3.39. Why it is welded to Java 8, what a Spring 6 migration involves, and staying patched.
- Redis 7.029 July 2024Redis 7.0 went end of life on 29 July 2024 at 7.0.15. Why the licence change matters more than the version, whether Valkey fits, and what breaks in an upgrade.
- Apache HBase 2.425 May 2024Apache HBase 2.4 reached end of maintenance on 25 May 2024 with 2.4.18 and bundles ZooKeeper 3.8.4. How 2.5 and 2.6 differ, and how to keep HBase 2.4 patched.
- .NET 714 May 2024.NET 7 reached end of support on 14 May 2024; 7.0.20 shipped on 28 May 2024 and was the last. Why .NET 10 is the target, not .NET 8, and how to keep .NET 7 patched.
- Erlang/OTP 2410 May 2024Erlang/OTP 24 reached end of life on 10 May 2024. 22 CVE records have landed against it since, including CVE-2025-32433 at CVSS 10.0. How to stay patched.
- Apache ActiveMQ Classic 5.1712 April 2024ActiveMQ Classic 5.17 has been inactive since April 2024; 5.17.7 was the last release. CVE-2023-46604, CVE-2026-34197 with no 5.17 fix, the routes to 5.19 or 6.3, and patching.
- Apache Tomcat 8.531 March 2024Tomcat 8.5 went end of life on 31 March 2024 at 8.5.100. Why moving to Tomcat 9 only buys a year, what the Jakarta migration costs, and staying patched on 8.5.
- RabbitMQ 3.1229 February 2024RabbitMQ 3.12 went end of life on 29 February 2024 at 3.12.14. Why you must pass through 3.13 to reach 4.x, the feature-flag precondition, and staying patched.
- MongoDB 4.429 February 2024MongoDB 4.4 reached end of life on 29 February 2024 and is the last line that runs without AVX. Post-EOL releases, the path to 5.0+, and extended support.
- Apache ZooKeeper 3.72 February 2024ZooKeeper 3.7 reached end of life on 2 February 2024 with 3.7.2 as its final release. How to roll an ensemble forward without downtime, and how to stay patched.
- Spring Security 5.831 December 2023Spring Security 5.8 open source support ended 31 December 2023; 5.8.16 was the last public release. Commercial dates, the move to 6.x, and extended support.
- PostgreSQL 119 November 2023PostgreSQL 11 reached end of life on 9 November 2023 with 11.22. What stops, what RDS Extended Support costs, and how to patch or upgrade a self-managed 11.
- Node.js 1611 September 2023Node.js 16 reached end of life on 11 September 2023, early, to match OpenSSL 1.1.1. Last release v16.20.2. The OpenSSL 3 upgrade to Node 24, and patched Node.js 16 runtimes.
- Spring Boot 2.730 June 2023 (OSS support)Spring Boot 2.7 ended open-source support on 30 June 2023 at 2.7.18. Why the unmanaged dependency BOM is the real exposure, and what a move to Boot 3 costs.
- RabbitMQ 3.1130 June 2023RabbitMQ 3.11 left community support on 30 June 2023 and commercial support on 30 June 2024; 3.11.28 was the last public release. The upgrade chain to 4.x and how to keep 3.11 patched.
- Node.js 1430 April 2023Node.js 14 reached end of life on 30 April 2023; v14.21.3 was the last release and bundles OpenSSL 1.1.1t. How to move to Node 24 and how to keep Node.js 14 patched.
- Apache ZooKeeper 3.630 December 2022ZooKeeper 3.6 reached end of life on 30 December 2022 with 3.6.4 as its final release. What to inventory before upgrading, and how to keep the ensemble patched.
- Apache Tomcat 10.031 October 2022Apache Tomcat 10.0 reached end of life on 31 October 2022; 10.0.27 was the last release. Why new advisories skip 10.0, the easy move to 10.1, and patched 10.0 builds.
- Apache Kafka 2.819 September 2022 (final release, 2.8.2)Apache Kafka 2.8's final release, 2.8.2, shipped on 19 September 2022 and bundles ZooKeeper 3.5.9. The CVEs with no 2.8 fix, the route to 3.9 and KRaft, and patched 2.8 builds.
- RabbitMQ 3.831 July 2022RabbitMQ 3.8 reached end of life on 31 July 2022; 3.8.35 was the last release. Erlang 23 and 24, the six-hop upgrade to 4.x, mirrored queues, and patched 3.8 builds.
- Apache ZooKeeper 3.51 June 2022ZooKeeper 3.5 reached end of life on 1 June 2022 with 3.5.10 as its final release. Why it persists inside platform distributions, and how to keep it patched.
- Apache Solr 711 May 2022Apache Solr 7 reached end of life on 11 May 2022 with 7.7.3 as the final release. What stopped, why the upgrade is a rebuild, and how to keep the line patched.
- Elasticsearch 7.1011 May 2022Elasticsearch 7.10 reached end of life on 11 May 2022; 7.10.2 is the last Apache 2.0 release and the base of OpenSearch. Licences, the 8.x upgrade and patched 7.10.2 builds.
- Cloudera CDH 6March 2022CDH 6.2 and 6.3 reached end of support in March 2022; 6.3.4 was the last release and ships ZooKeeper 3.4.5. Where to go next, and how to keep CDH 6 patched.
- Hortonworks HDP 3.1December 2021HDP 3.1 reached end of support in December 2021; 3.1.5 was the last release and ships ZooKeeper 3.4.6. Where Storm and Druid go, and staying patched.
- Apache Tomcat 731 March 2021Apache Tomcat 7 reached end of life on 31 March 2021; 7.0.109 was the last release. The 2026 CVEs that list 7.0 with no fix, the javax route to 9.0, and Jakarta options.
- Apache ZooKeeper 3.41 June 2020Apache ZooKeeper 3.4 reached end of life on 1 June 2020; 3.4.14 is the last release. The CVEs that still reach it, the upgrade path through 3.5, and patched 3.4 builds.
- Java 8January 2019 (Oracle public updates for commercial use)Java 8 has no single end-of-life date: Oracle ended public updates in 2019, while Temurin, Corretto and Zulu still ship fixes. Why the real risk is Spring 5.
End-of-life: common questions
What does end of life mean for open source software?
It means the project stops publishing fixes for that version line. The software keeps running exactly as before; what ends is the supply of security patches and, for databases, bug fixes that can prevent data corruption. Nothing breaks on the date. Exposure accumulates from it.
How long do open source projects support a version?
It varies enormously and this is where teams get caught out. PostgreSQL supports each major for five years. Microsoft gives .NET LTS releases three years. Node.js LTS lines get thirty months. RabbitMQ and Apache Kafka support only the current release series, so a version can go end of life the day its successor ships — a window of months, not years.
Is it illegal or non-compliant to run end-of-life software?
Not illegal, but it engages specific controls. PCI DSS 4.0.1 requirement 6.3.3 expects critical vulnerabilities patched within a month of the fix's release. SOC 2 CC7.1 expects a working remediation process. FDA premarket cybersecurity submissions expect a plan for unsupported components. In each case the problem is not the version number, it is the absence of a patch path.
Can you get security patches for end-of-life open source?
Yes. Third-party extended support providers backport fixes from upstream to the end-of-life line. OSSeva does this for the infrastructure layer — RabbitMQ, Kafka, PostgreSQL, Redis, Tomcat, Spring and .NET. HeroDevs and TuxCare cover application frameworks and libraries; OpenLogic covers a broad catalogue.
Where do these end-of-life dates come from?
Each project's own published lifecycle policy, cross-checked against endoflife.date. Every date on this site links to its source. We do not publish a lifecycle date we cannot point at.
Which end-of-life dates are coming up next?
The near-term cluster is November 2026: .NET 8 and .NET 9 both reach end of support on 10 November 2026, and PostgreSQL 14 follows on 12 November 2026. Apache Tomcat 9.0 reaches end of life on 31 March 2027. Estates running both .NET and PostgreSQL should plan those as one programme rather than two.
Tell us what you are still running
Send the versions. We will tell you which need attention first, and which are fine where they are.