Latest in branch 3.0
3.0.2
Released 12 Sep 2022
(3 years ago)
SoftwareApache Kafka
Version3.0
Initial release3.0.0
08 Sep 2021
(4 years ago)
Latest release3.0.2
12 Sep 2022
(3 years ago)
Apache Kafka
Community EoS
12 Jan 2022
(Ended 4 years, 4 months ago)
Confluent
Community EoS
27 Oct 2023
(Ended 2 years, 7 months ago)
Confluent
Standard EoS
27 Oct 2023
(Ended 2 years, 7 months ago)
Confluent
Platinum EoS
27 Oct 2024
(Ended 1 year, 7 months ago)
Release noteshttps://dlcdn.apache.org/kafka/3.0.0/RELEASE_NOTES.html
Source codehttps://github.com/apache/kafka/archive/refs/tags/3.0.2.tar.gz
Documentationhttps://kafka.apache.org/30/documentation.html
Apache Kafka 3.0 ReleasesView full list

What Is New in Apache Kafka 3.0

Kafka 3.0 is a major release packed with features that streamline operations and boost performance. It focuses on making the core platform more robust and easier to manage, especially in large-scale deployments.

Category Key Changes
New Features KRaft (No-ZooKeeper) production-ready, Stronger delivery semantics for transactions, New metrics
Improvements Better partition reassignment, Enhanced MirrorMaker 2, Upgraded ZooKeeper dependency
Deprecations & Removals Message format v0 and v1 deprecated, Scala 2.12 support deprecated, Removed previously deprecated APIs
Bug Fixes Numerous fixes for stability, performance, and correctness across clients and brokers

Is KRaft ready for production use?

Yes, the KRaft (Kafka Raft Metadata) mode is now production-ready. This means you can run Kafka without Apache ZooKeeper, which simplifies deployment and architecture. In practice, this reduces the number of moving parts you need to manage and monitor. It's a foundational shift that sets the stage for future improvements in scalability and manageability.

What's new for transactional messaging?

Kafka 3.0 strengthens the delivery semantics for transactional data. The system now ensures that a transaction is only considered committed after all its data has been replicated and the commit marker is written. This eliminates a previous edge case and provides stronger guarantees for exactly-once semantics. For developers building critical financial or ordering systems, this is a significant boost in reliability.

Are there any deprecated features I should know about?

This release starts the deprecation cycle for older message formats v0 and v1. You should plan to use v2 or later. Support for Scala 2.12 has also been deprecated. Furthermore, several older APIs that were marked for removal in previous versions have now been officially deleted. It's a good time to audit your client libraries and configuration to ensure compatibility.

How are partition reassignments improved?

The Kafka AdminClient now supports a new API for generating partition reassignment plans. This allows you to move partitions across brokers in a more controlled and efficient manner. The old method of manually writing JSON assignment files was clunky and error-prone. This new approach integrates reassignment planning directly into the admin tools you already use.

What about monitoring and metrics?

A new set of metrics has been added for the KRaft controller, giving you better visibility into the performance of the new metadata system. You'll find metrics for tracking active controllers, the last committed offset, and the high watermark. This matters because you need the same level of observability for the KRaft controller as you had for ZooKeeper.

FAQ

Should I switch to KRaft mode for my existing cluster?
For new clusters, starting with KRaft is recommended. For existing ZooKeeper-based clusters, a migration path is available but requires a careful, planned rollout. It's a major architectural change, so test thoroughly in a staging environment first.

What happens if I'm still using the deprecated message formats?
They still work in 3.0, but support will be removed in a future major release (likely 4.0). You should plan to reconfigure your producers to use a later message format (v2 or v3) to avoid future upgrade issues.

Does the stronger transactional guarantee impact performance?
There might be a minor latency cost for the stronger guarantee, as the system waits for more confirmations before committing. For most use cases, the trade-off for vastly improved data correctness is well worth it.

I use MirrorMaker 2 - what improvements will I see?
MM2 now supports mirroring consumer group offsets with the new checkpoint connector, providing a more complete replication of state. There are also various stability fixes that make cross-datacenter replication more reliable.

Is upgrading to 3.0 from 2.8 straightforward?
Generally, yes. The upgrade process is a standard inter-broker protocol rolling upgrade. The main thing to check is that your clients and tools aren't using any of the now-removed deprecated APIs. Always check your release notes and test the upgrade path.

Releases In Branch 3.0

VersionRelease date
3.0.212 Sep 2022
(3 years ago)
3.0.103 Mar 2022
(4 years ago)
3.0.008 Sep 2021
(4 years ago)