Apache Kafka End of Life & Support Options —
What To Do When Kafka Patches Stop, and the KRaft Migration
Apache Kafka is the backbone of real-time data pipelines for thousands of organizations. It processes billions of events per day at companies ranging from startups to the largest financial institutions in the world. And because Kafka is so deeply embedded in infrastructure — often handling compliance-critical financial, health, or audit data — its version lifecycle deserves careful attention.
This guide covers every Apache Kafka version's end-of-life date, EOL Risk Score™, and what running an unsupported version means for a platform handling real-time, often irreplaceable data streams.
Key Dates at a Glance
- Apache Kafka 4.3: released 2026-05-22
- Apache Kafka 4.2: released 2026-02-17
- Apache Kafka 4.1: released 2025-09-02
- Apache Kafka 4.0: released 2025-03-18
- Apache Kafka 3.9: released 2024-11-06
- Apache Kafka 3.8: released 2024-07-29
- Apache Kafka 3.7: released 2024-02-27
- Apache Kafka 3.6: released 2023-10-10
Complete Apache Kafka EOL Schedule
Apache Kafka publishes no end-of-life calendar. Its time-based release plan ships a feature release roughly every four months and commits the community to bug-fix releases, as needed, for the last three releases — about a year of coverage. A version is treated as end of life when the next feature release supersedes it; older versions receive no further development, bug fixes or security patches.
| Version | Release | End of Life | Status | EOL Risk Score™ |
|---|---|---|---|---|
| Kafka 2.6 | Aug 3, 2020 | Nov 15, 2021 | EOL | 50 |
| Kafka 2.7 | Dec 21, 2020 | Nov 15, 2021 | EOL | 50 |
| Kafka 2.8 | Apr 19, 2021 | Sep 19, 2022 | EOL | 50 |
| Kafka 3.0 | Sep 21, 2021 | Sep 19, 2022 | EOL | 50 |
| Kafka 3.1 | Jan 24, 2022 | Sep 19, 2022 | EOL | 50 |
| Kafka 3.2 | May 17, 2022 | Sep 28, 2022 | EOL | 50 |
| Kafka 3.3 | Sep 28, 2022 | Feb 6, 2023 | EOL | 50 |
| Kafka 3.4 | Feb 7, 2023 | Jun 13, 2023 | EOL | 50 |
| Kafka 3.5 | Jun 15, 2023 | Oct 3, 2023 | EOL | 50 |
| Kafka 3.6 | Oct 10, 2023 | Feb 27, 2024 | EOL | 50 |
| Kafka 3.7 | Feb 27, 2024 | Jul 26, 2024 | EOL | 50 |
| Kafka 3.8 | Jul 29, 2024 | Nov 6, 2024 | EOL | 45 |
| Kafka 3.9 | Nov 6, 2024 | Supported (bug-fix releases) | Supported | 10 |
| Kafka 4.0 | Mar 18, 2025 | Supported (bug-fix releases) | Supported | 10 |
| Kafka 4.1 | Sep 2, 2025 | Supported (bug-fix releases) | Supported | 10 |
| Kafka 4.2 | Feb 17, 2026 | Supported (bug-fix releases) | Supported | 10 |
| Kafka 4.3 | May 22, 2026 | Supported (bug-fix releases) | Supported | 10 |
Every Kafka version, one line each
The same schedule as plain statements, one per release, for anyone who needs a single date rather than a table. Every date is bound to the same data as the Apache Kafka product page, checked against the project's time-based release plan, and re-verified at each build. Kafka publishes no dates in advance: an end-of-life date here is the day the next feature release shipped.
- Kafka 4.3 — released May 22, 2026; current, receiving bug-fix releases.
- Kafka 4.2 — released February 17, 2026; current, receiving bug-fix releases.
- Kafka 4.1 — released September 2, 2025; current, receiving bug-fix releases.
- Kafka 4.0 — released March 18, 2025; current, receiving bug-fix releases.
- Kafka 3.9 — released November 6, 2024; current, receiving bug-fix releases.
- Kafka 3.8 — released July 29, 2024; end of life November 6, 2024, when the next release shipped.
- Kafka 3.7 — released February 27, 2024; end of life July 26, 2024, when the next release shipped.
- Kafka 3.6 — released October 10, 2023; end of life February 27, 2024, when the next release shipped.
- Kafka 3.5 — released June 15, 2023; end of life October 3, 2023, when the next release shipped.
- Kafka 3.4 — released February 7, 2023; end of life June 13, 2023, when the next release shipped.
- Kafka 3.3 — released September 28, 2022; end of life February 6, 2023, when the next release shipped.
- Kafka 3.2 — released May 17, 2022; end of life September 28, 2022, when the next release shipped.
- Kafka 3.1 — released January 24, 2022; end of life September 19, 2022, when the next release shipped.
- Kafka 3.0 — released September 21, 2021; end of life September 19, 2022, when the next release shipped.
- Kafka 2.8 — released April 19, 2021; end of life September 19, 2022, when the next release shipped.
- Kafka 2.7 — released December 21, 2020; end of life November 15, 2021, when the next release shipped.
- Kafka 2.6 — released August 3, 2020; end of life November 15, 2021, when the next release shipped.
- Kafka 2.5 — released April 15, 2020; end of life August 10, 2020, when the next release shipped.
- Kafka 2.4 — released December 16, 2019; end of life April 15, 2020, when the next release shipped.
- Kafka 2.3 — released June 25, 2019; end of life December 16, 2019, when the next release shipped.
- Kafka 2.2 — released March 22, 2019; end of life December 1, 2019, when the next release shipped.
- Kafka 2.1 — released November 20, 2018; end of life March 22, 2019, when the next release shipped.
- Kafka 2.0 — released July 30, 2018; end of life November 20, 2018, when the next release shipped.
- Kafka 1.1 — released March 28, 2018; end of life July 30, 2018, when the next release shipped.
- Kafka 1.0 — released November 1, 2017; end of life July 8, 2018, when the next release shipped.
- Kafka 0.11 — released June 28, 2017; end of life July 2, 2018, when the next release shipped.
- Kafka 0.10 — released May 22, 2016; end of life July 2, 2018, when the next release shipped.
- Kafka 0.9 — released November 23, 2015; end of life May 22, 2016, when the next release shipped.
- Kafka 0.8 — released December 3, 2013; end of life November 23, 2015, when the next release shipped.
- Kafka 0.7 — released January 4, 2012; end of life December 3, 2013, when the next release shipped.
Kafka 2.8 — End of Life September 19, 2022
Kafka 2.8 was a landmark release — it was the first version to ship KRaft mode (Kafka without ZooKeeper) as an early access feature. Many teams adopted 2.8 specifically to begin evaluating KRaft before committing to it. Those deployments, now nearly four years past EOL, are still seeing production traffic.
Kafka 3.9 and 4.x — Current Supported Versions
Of the Kafka 3.x series, only 3.9 is still in active support. Kafka 3.7 reached EOL on July 26, 2024 and 3.8 followed on November 6, 2024. Alongside 3.9, the entire 4.x line — 4.0 through 4.3 — is currently supported, with 4.3 the latest release. If you are on Kafka 3.8 or earlier, you are running an unsupported version regardless of how recently the 3.x release felt like a modern choice.
Kafka 4.0, released March 18, 2025, is the first version to fully remove ZooKeeper support. It requires KRaft mode exclusively and drops all ZooKeeper-related code. This is a significant migration milestone for any cluster still using ZooKeeper.
The ZooKeeper Deprecation and KRaft Migration
Apache Kafka's architectural shift away from ZooKeeper is the most significant infrastructure change in the project's history. In Kafka 3.x, ZooKeeper mode was deprecated. In Kafka 4.0, ZooKeeper mode is removed entirely.
This means any cluster still using ZooKeeper for cluster metadata cannot upgrade to Kafka 4.0 without first migrating to KRaft mode. Kafka 3.5 through 3.9 support a migration path from ZooKeeper to KRaft without downtime — if you haven't migrated yet, do it before attempting the 4.0 upgrade.
EOL Risk for Event Streaming Infrastructure
Kafka is different from most application-layer software because it stores data. An EOL web framework is a security risk; an EOL Kafka cluster is a security risk that also has custody of your data. CVEs affecting Kafka directly impact the confidentiality, integrity, and availability of every message in your topics.
Historically significant Kafka CVEs include authentication bypass vulnerabilities, SCRAM authentication weaknesses, and denial-of-service issues in the broker. On an EOL version, these are permanently unpatched. In regulated industries where Kafka carries financial, health, or PII data, the compliance implications are significant.
Apache Kafka currently carries an EOL Risk Score™ of 45/100 — Grade C, elevated risk, recalculated at every site build from EOL recency, attack surface, CISA KEV exposure, and extended-support availability. Per-version scores and dates are on the Apache Kafka lifecycle page.
The right response comes down to one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support fees paid repeatedly cost more than doing the project once. Indefinitely, migrate now and plan the next one before it surprises you. Extended support is often the more expensive choice over a multi-year horizon — a bridge, not a destination. And if this deadline feels like vendor caprice, it isn’t — why end of life is inevitable for every version, with the receipts.
Upgrading Apache Kafka
Rolling upgrades are supported
Kafka supports rolling upgrades — you upgrade brokers one at a time while the cluster continues serving traffic. The cluster runs in a mixed-version state during the upgrade, which is supported when moving between adjacent minor versions. This makes Kafka upgrades less disruptive than many application-layer upgrades.
Use inter-broker protocol version control
During a rolling upgrade, set inter.broker.protocol.version to the previous version to maintain compatibility across mixed-version brokers. Only bump this value after all brokers are on the new version. The same applies to log.message.format.version for 3.x clusters.
Check client compatibility
Kafka clients are generally backward-compatible with older brokers, but broker upgrades may expose client-side issues. The Kafka protocol version matrix documents which client versions are compatible with which broker versions. Update your producers and consumers as part of the upgrade project, not after.
Upgrade ZooKeeper to KRaft first if on 2.x/3.x
If targeting Kafka 4.0, the ZooKeeper-to-KRaft migration must be completed first. Run the kafka-metadata-migration.sh tool included in Kafka 3.5+ to migrate your ZooKeeper-based cluster metadata to KRaft without downtime.
Frequently Asked Questions
Is Kafka 3.8 end of life?
Yes. Kafka 3.8 (released July 29, 2024) was superseded on November 6, 2024, the day 3.9 shipped, and receives no further bug-fix releases; 3.7 ended on July 26, 2024 and 3.6 on February 27, 2024. Kafka 3.9 is the only 3.x release still maintained, kept as the last ZooKeeper-capable version and the bridge to KRaft.
When does Kafka 3.9 reach end of life?
No date is published, because Kafka has no end-of-life calendar: the community cuts bug-fix releases for the last three feature releases and a version is superseded when the next one ships. Kafka 3.9 (released November 6, 2024) is a special case — it is the final release that can run with ZooKeeper, so the community keeps it maintained as the migration bridge to KRaft. When it is superseded the date will appear here and on the Kafka 3.9 product page.
Which Apache Kafka versions are supported right now?
Apache Kafka has no formal end-of-life dates: the community publishes bug-fix releases for recent minor versions and expects users to run the latest — 4.3 (May 22, 2026), 4.2 (February 17, 2026) and 4.1 (September 2, 2025) are the current 4.x lines, and 3.9 (November 6, 2024) is the last 3.x release still receiving fixes as the ZooKeeper-capable bridge. Anything 3.8 or older, and every 2.x, should be treated as unsupported.
Is Kafka 3.x end of life?
Practically, yes for everything before 3.9. Kafka 3.9 is the final 3.x release and the last version that can run with ZooKeeper; it remains the supported stepping stone to KRaft. Kafka 4.0 (March 18, 2025) removed ZooKeeper entirely, so a 3.x cluster still on ZooKeeper must migrate to KRaft on 3.9 before upgrading to 4.x.
What changed in Kafka 4.0?
Kafka 4.0 (released March 18, 2025) runs only in KRaft mode — ZooKeeper support is gone — and it dropped the older wire-protocol versions and Java 8/11 broker support (brokers need Java 17+, clients Java 11+). Upgrading requires a KRaft cluster first, which is why the 3.9 bridge matters.
How do I check my Kafka version?
Run kafka-broker-api-versions.sh --bootstrap-server <host>:9092 or read the broker's startup log; the version also appears in JMX under kafka.server:type=app-info. Managed services (MSK, Confluent Cloud, Azure Event Hubs for Kafka) show the version in the console. Check the client library versions in your applications too — an old client can pin the protocol you can use.
Is there extended support for old Kafka?
Commercial distributions (Confluent Platform, and vendors offering support for older Apache Kafka lines) provide patched builds beyond the community's release cadence; that is the bridge for a 2.x or early-3.x cluster that cannot move to 3.9/4.x yet. See our extended support options page.