Release Dates


These dates are goals and subject to change, but we expect to stay on the Time Based Release Plan unless unexpected critical issues come up. While the earliest possible release date is 2w after code freeze, release candidates (RCs) will roll out as needed until the release vote passes.

The release manager is A. Sophie Blee-Goldman 

How to Contribute

Before code freeze:

After code freeze:

Open Issues


Also feel free to refer to the 3.4.0 release page for more details of the included tickets (requires log in to the Apache Kafka Jira project).

Planned KIP Content

Note: The planned content is not binding - final content will be based the features committed by branch-cutting date. See Kafka Improvement Proposals for the full list of KIPs.

KIPJIRAComponentStatus
KIP-770: Replace "buffered.records.per.partition" & "cache.max.bytes.buffering" with "{statestore.cache}/{input.buffer}.max.bytes"

StreamsDone (partially implemented: cache size config & metrics only)
KIP-787: MM2 manage Kafka resources with custom Admin implementation.

ConnectDone
KIP-792: Add "generation" field into consumer protocol

ConsumerDone
KIP-830: Allow disabling JMX Reporter

ClientsDone
KIP-837: Allow MultiCasting a Result Record.

StreamsDone
KIP-840: Config file option for MessageReader/MessageFormatter in ConsoleProducer/ConsoleConsumer

Console clientsDone
KIP-854 Separate configuration for producer ID expiry

ProducerDone
KIP-862: Self-join optimization for stream-stream joins

StreamsDone
KIP-865: Support --bootstrap-server in kafka-streams-application-reset

Streams/toolsDone
KIP-866 ZooKeeper to KRaft Migration

KRaftDone
KIP-876: Time based cluster metadata snapshots

KRaftDone (partially implemented: KRaft controller only)
KIP-881: Rack-aware Partition Assignment for Kafka Consumers

ConsumerDone (partially implemented: protocol changes only)


Postponed to subsequent release