This 88th edition of the Kafka Monthly Digest covers what happened in the Apache Kafka community in May 2025.
For last month’s digest, see Kafka Monthly Digest: April 2025.
Releases
There is one new release and one release is in progress:
3.9.1
On May 20, TengYao Chi and Luke Chen released Apache Kafka 3.9.1. This bugfix release contains over 30 fixes including several blockers. It also adds support for Java 23. You can find more details in the announcement, the release notes and in the release plan in the wiki.
4.1.0
The release process continued with KIP freeze on May 14. The next milestone is feature freeze on June 4. You can find the release plan in the wiki.
Kafka Improvement Proposals
Last month, the community submitted 9 KIPs (KIP-1177 to KIP-1185). I'll highlight a few of them:
- KIP-1178: Introduce remote.max.partition.fetch.bytes config in Consumer: When fetching data from brokers, consumers use the
fetch.max.bytes
andmax.partition.fetch.bytes
configurations to specify how much data they want. With tiered storage, a singleFetch
request could be fetching data from local disk for some partition and remote storage for others. In many cases remote storage systems have very different performance characteristics than local disks. This KIP proposes a new consumer configuration,remote.max.partition.fetch.bytes
, to specify how much data to fetch from remote storage for each partition, so users can optimize remote reads.
- KIP-1180: Add generic feature level metrics: Internally Kafka has used the concept of features to track capabilities such as the KRaft version, consumer and transaction protocol support of individual brokers since 2.7. In Kafka 4.0 this was directly exposed to users via KIP-1022, allowing users to selectively control each feature. This KIP proposes adding new metrics to expose the supported minimum and maximum version for each feature.
- KIP-1183: Unified Shared Storage: Following the proposals for diskless/fully remote topics from last month, this KIP aims at refactoring Kafka's log layer to make it simpler to abstract the actual storage medium and mechanism used to store data.
Community Releases
- strimzi-kafka-operator 0.46: Strimzi is a Kubernetes Operator for running Kafka. This new version adds support for Kafka 4.0, so ZooKeeper-based clusters are not supported anymore. You must first use Strimzi 0.45 to migrate existing ZooKeeper-based clusters to KRaft before upgrading to 0.46.
- kroxylicious 0.12.0: Kroxylicious is an open source pluggable framework for writing network proxies that understand the Apache Kafka protocol. This version adds Kafka 4.0 support. The other main change is that when using mTLS, by default the proxy now requires that clients present a certificate.
Blogs
I selected some interesting blog articles that were published last month:
To learn more about Kafka, visit Red Hat Developer's Apache Kafka topic page.