Skip to content

AxonOps — AI-Native Control Plane for Open Source Data Platforms

Apache Kafka Release Notes

Highlights from current and recent Apache Kafka releases. For complete, patch-level detail, see the upstream release notes linked at the bottom of each version stream.


Patch release for the 4.3 line, focused on memory-leak and group-coordinator fixes. The release notes do not state a release date.

  • RocksDB memory leaks fixed (KAFKA-20616, KAFKA-20688) — Close-path leaks in RocksDBStore and a leak in RocksDBTimestampedStoreWithHeaders that caused native memory growth and eventual out-of-memory errors
  • Group coordinator errors after leadership changes (KAFKA-20634, KAFKA-20635) — Spurious errors following partition leadership changes are no longer raised
  • Consumer group migration policy (KAFKA-20640) — Classic members are no longer accepted when the migration policy is disabled
  • AdminClient partition-leader hang (KAFKA-20673) — Partition-leader API calls no longer hang when a cached leader has left the cluster
  • Stale changelog offsets (KAFKA-20663) — Stale persisted changelog offsets that caused OffsetOutOfRangeException on restart are corrected
  • Clean downgrade from 4.3 (KAFKA-20543) — The RocksDB offsets column family is dropped on clean shutdown when downgrading from 4.3
  • OAuth2 private_key_jwt client assertion (KAFKA-18608) — Support for the private_key_jwt client authentication method in the OAuth2 client, removing the need to embed client secrets in configuration
  • Topic auto-creation honors controller defaults (KAFKA-19655) — num.partitions and default.replication.factor from controller properties are applied consistently when topics are auto-created
  • Broker and log-directory cordoning (KAFKA-19774) — Mechanism to cordon brokers and individual log directories, preventing new partition placement while preserving existing replicas (useful for staged decommissioning and maintenance)
  • Share Groups configuration enhancements (KAFKA-20037) — Additional group-level configurations for share groups, including dynamic group-level overrides
  • Assignment epochs for consumer groups (KIP-1251, KAFKA-20066) — Epoch tracking on group assignments to detect and reconcile stale state during rebalances
  • Header-aware state stores in Kafka Streams (KAFKA-20056, KAFKA-20194) — Record headers can be stored in state stores; DSL opt-in support for header-aware KeyValue, Window, and Session stores
  • State-store managed changelog offsets — Changelog offsets managed within the state store, reducing reliance on external offset tracking
  • Group coordinator executor — Configurable threading model and metrics for the group coordinator with assignment batching and offload at broker and group levels
  • Tiered storage improvements — Snapshot fetches behave correctly on slow networks; broader stability work in the tiered-storage path
  • KeyValueStore approximateNumEntries metric — Approximate entry count exposed as a metric for operational visibility

Deprecations (marked for removal in a future release):

  • Broker-level group.coordinator.rebalance.protocols config (KAFKA-19740)
  • streams-scala module (KAFKA-19976)

Security fixes:

  • CVE-2025-5115 (Jetty upgrade)
  • CVE-2025-67030 (plexus-utils)
  • GHSA-72hv-8253-57qq (Jackson core)
  • CVE-2026-28390, CVE-2026-22184 (native image libraries)

For full 4.3.x release notes, see the Apache Kafka downloads page.


  • Share Groups enhancements (KIP-932) — RENEW acknowledgement type for extending processing timeouts (KIP-1222), configurable ShareAcquireMode with batch_optimized and record_limit modes (KIP-1206), share partition lag metrics (KIP-1226)
  • Streams Rebalance Protocol GA (KIP-1071) — Server-side rebalance protocol with broker-coordinated task assignment, promoted from early access to generally available
  • Kafka Streams dead letter queue (KIP-1034) — Dead letter queue support in Streams exception handlers
  • Kafka Streams CloseOptions API (KIP-1153) — Fluent-style API with explicit leave-group control
  • Anchored punctuation (KIP-1146) — Optional startTime parameter for wall-clock punctuation scheduling
  • Standardized CLI arguments (KIP-1147) — Consistent --bootstrap-server and --command-config across all tools; legacy argument variants deprecated
  • External schema in JsonConverter (KIP-1054) — schema.content configuration for external schemas, reducing message sizes
  • Allowlist connector override policy (KIP-1188) — New connector client configuration override policy based on allowlists
  • Controller idle metrics (KIP-1190, KIP-1229) — AvgIdleRatio metric for controller thread and MetadataLoader idleness
  • Metric naming correction (KIP-1100) — Metric names corrected to follow kafka.COMPONENT convention
  • Adaptive coordinator batching (KIP-1224) — Automatic linger time adjustment for group and share coordinators
  • Thread-safe RecordHeader (KIP-1205) — Thread-safety improvements using double-checked locking
  • KafkaPrincipalBuilder enforcement (KIP-1157) — KafkaPrincipalBuilder now extends KafkaPrincipalSerde for compile-time enforcement
  • Rack ID in Admin API (KIP-1227) — Rack ID exposure in MemberDescription and ShareMemberDescription
  • KRaft auto-join (KIP-1186) — AckWhenCommitted flag in AddRaftVoterRequest for auto-join support

Deprecations (marked for removal in Kafka 5.0):

  • ConsumerGroupMetadata constructors (KIP-1136)
  • MX4j support (KIP-1193)
  • BrokerNotFoundException (KIP-1195)
  • Misspelled PARTITIONER_ADPATIVE_PARTITIONING_ENABLE constant (KIP-1175); use corrected spelling

  • Bug fixes and stability improvements
  • Queues for Kafka preview (KIP-932) - Promoted from early access to preview (4.0 early-access clusters cannot upgrade directly)
  • Streams Rebalance Protocol (KIP-1071) - Early access broker-coordinated rebalancing for Kafka Streams
  • OAuth jwt-bearer grant (KIP-1139) - New grant type avoiding secrets in configuration
  • Plugin metrics (KIP-877) - Plugins and connectors can register metrics via Monitorable interface
  • Connector versioning - Install and run multiple versions of same connector plugins
  • Transaction filtering (KIP-1152) - Transactional ID pattern filter in ListTransactions API
  • Consumer close options - New Consumer.close(CloseOptions) method controlling group leave behavior
  • Rack-aware assignment - Memory efficiency improvements for large consumer groups
  • KRaft voter upgrade (KIP-853) - Upgrade voters from static to dynamic configuration
  • High-watermark fix (KIP-1166) - Fixes pending fetch requests blocking high-watermark progression

  • Fixes 49 issues since 4.0.0 release
  • ZooKeeper removed - KRaft is now the only metadata management mode
  • New Consumer Group Protocol GA (KIP-848) - Dramatically faster rebalances
  • Queues for Kafka early access (KIP-932) - Traditional queue semantics (promoted to preview in 4.1)
  • Java 17 required for brokers, Connect, and tools (Java 11 for clients)
  • Log4j2 replaces Log4j 1.x
  • MirrorMaker 1 removed - Use MirrorMaker 2

  • Fixes 66 issues since 3.9.0 release
  • Dynamic KRaft quorum (KIP-853) - Add/remove controllers without downtime
  • Final 3.x release before ZooKeeper removal

  • Fixes 17 issues since 3.8.0 release
  • Compression level configuration (KIP-390)
  • Tiered storage JBOD compatibility (early access)

  • Fixes 22 issues since 3.7.1 release
  • Bug fixes and stability improvements
  • JBOD in KRaft (KIP-858) - Early access
  • Client metrics (KIP-714)
  • Next-gen consumer rebalance (KIP-848) - Early access