Release Dates

  • KIP Freeze:  (A KIP must be accepted by this date in order to be considered for this release. Note, any KIP that may not be implemented in a week, or that might destabilize the release, should be deferred.)
  • Feature Freeze:  (major features merged & working on stabilization, minor features have PR, release branch cut; anything not in this state will be automatically moved to the next release in JIRA)
  • Code Freeze:
  • At least two weeks of stabilization will follow Code Freeze.


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 Sophie Blee-Goldman 

How to Contribute

Before code freeze:

  • Participate in votes and discussions to land or postpone the open KIPs.
  • Review patches. We anticipate that this release, as it usually happens, will be bottlenecked mostly on reviews. The more reviewers, the more content we can fit in.
  • Write unit/integration/system tests. We want to preserve the tradition of high-quality releases in Apache Kafka. 

After code freeze:

  • Write more unit/integration/system testsWe want to preserve the tradition of high-quality releases in Apache Kafka.
  • Improve documentation.
  • Test the release candidates. 
  • Open blocker JIRAs on critical issues found. Open non-blocker JIRAs on any other issues found.
  • Fix critical bugs.
  • Review bug fixes.
  • Vote on release candidates. Even though only PMC votes are binding, community votes are super important as we evaluate the readiness of the release.

Open Issues

key summary type created updated due assignee reporter customfield_12311032 customfield_12311037 customfield_12311022 customfield_12311027 priority status resolution

JQL and issue key arguments for this macro require at least one Jira application link to be configured


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"

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

ConsumerDone
KIP-830: Allow disabling JMX Reporter

Unable to render Jira issues macro, execution error.

ClientsDone
KIP-837: Allow MultiCasting a Result Record.

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Console clientsDone
KIP-854 Separate configuration for producer ID expiry

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Streams/toolsDone
KIP-866 ZooKeeper to KRaft Migration

Unable to render Jira issues macro, execution error.

KRaftDone
KIP-876: Time based cluster metadata snapshots

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

ConsumerDone (partially implemented: protocol changes only)


Postponed to subsequent release

  • No labels