Apache Kafka End of Life —
Version EOL Dates & KRaft Migration Guide
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.
Complete Apache Kafka EOL Schedule
Apache Kafka follows the Apache Software Foundation's standard project lifecycle. The community maintains the two most recent minor versions. Older versions receive no further development, bug fixes, or security patches once superseded.
| Version | Release | End of Life | Status | EOL Risk Score™ |
|---|---|---|---|---|
| Kafka 2.6 | Aug 2020 | Oct 2022 | EOL | 90 |
| Kafka 2.7 | Dec 2020 | Oct 2022 | EOL | 89 |
| Kafka 2.8 | Apr 2021 | Oct 2023 | EOL | 84 |
| Kafka 3.0 | Sep 2021 | Feb 2024 | EOL | 80 |
| Kafka 3.1 | Feb 2022 | Jul 2024 | EOL | 78 |
| Kafka 3.2 | May 2022 | Oct 2024 | EOL | 74 |
| Kafka 3.3 | Sep 2022 | Feb 2025 | EOL | 70 |
| Kafka 3.4 | Feb 2023 | Sep 2025 | EOL | 65 |
| Kafka 3.5 | Jun 2023 | Dec 2025 | EOL | 58 |
| Kafka 3.6 | Oct 2023 | Apr 2026 | Warning | 48 |
| Kafka 3.7 | Mar 2024 | Sep 2026 | Supported | 30 |
| Kafka 3.8 | Jul 2024 | Mar 2027 | Supported | 20 |
| Kafka 4.0 | Mar 2025 | TBD | Latest | 10 |
Kafka 2.8 — End of Life October 2023
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 over two and a half years past EOL, are still seeing production traffic.
Kafka 3.x — Current Supported Versions
Of the Kafka 3.x series, only 3.7 and 3.8 are currently in active support. Kafka 3.6 reached EOL in April 2026. If you are on Kafka 3.5 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 in March 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.8 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.
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.