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 Mickael Maison 

How to Contribute

Before code freeze:

After code freeze:

Open Issues

Also feel free to refer to the 3.5.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-399: Extend ProductionExceptionHandler to cover serialization exceptions

StreamsDone
KIP-581: Value of optional null field which has default value

connectDone
KIP-641 An new java interface to replace 'kafka.common.MessageReader'

tool/clientDone
KIP-710: Full support for distributed mode in dedicated MirrorMaker 2.0 clusters

connectDone
KIP-847: Add ProducerIdCount metrics

coreDone
KIP-875: First-class offsets support in Kafka Connect

connect

Partially Done

Includes internal changes + list offsets API

KIP-881: Rack-aware Partition Assignment for Kafka Consumers

client

Done (updated assignors, 3.4 only had the new protocol)

KIP-884: Add config to configure KafkaClientSupplier in Kafka Streams

StreamsDone
KIP-887: Add ConfigProvider to make use of environment variables

clientsDone
KIP-889: Versioned State Stores

StreamsDone
KIP-893: The Kafka protocol should support nullable structs

coreDone
KIP-894: Use incrementalAlterConfig for syncing topic configurations 

connectDone
KIP-900: KRaft kafka-storage.sh API additions to support SCRAM for Kafka Brokers

coreDone
KIP-903: Replicas with stale broker epoch should not be allowed to join the ISR

coreDone

KIP-904: Kafka Streams - Guarantee subtractor is called before adder if key has not changed

StreamsDone (system test missing)
KIP-907: Add Boolean Serde to public interface

StreamsDone
KIP-911: Add source tag to Mirror source metric

connectDone
KIP-914: DSL Processor Semantics for Versioned Stores

StreamsDone

KIP-915: Txn and Group Coordinator Downgrade Foundation

coreDone


Postponed to subsequent release

KIPJIRA
KIP-405: Kafka Tiered Storage

KIP-726: Make the "cooperative-sticky, range" as the default assignor

KIP-770: Replace "buffered.records.per.partition" with "input.buffer.max.bytes"

KIP-797: Accept duplicate listener on port for IPv4/IPv6

KIP-813: Shareable State Stores

KIP-821: Connect Transforms support for nested structures

KIP-863: Reduce Fetcher#parseRecord() memory copy

KIP-866 ZooKeeper to KRaft Migration

KIP-898: Modernize Connect plugin discovery