Release Dates
- KIP Freeze: 07 Apr (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: 27 (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: 11 May
- At least two weeks of stabilization will follow Code Freeze.
...
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.
KIP | JIRA | Component | Status | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
KIP-399: Extend ProductionExceptionHandler to cover serialization exceptions |
| Streams | Done | ||||||||||||
KIP-405: Kafka Tiered Storage581: Value of optional null field which has default value |
| connect | Done | ||||||||||||
KIP-641 An new java interface to replace 'kafka.common.MessageReader' |
| tool/client | Donecore | ||||||||||||
KIP-710: Full support for distributed mode in dedicated MirrorMaker 2.0 clusters |
| connect | Done | ||||||||||||
KIP-847: Add ProducerIdCount metrics |
| core | Done | ||||||||||||
KIP-726: Make the "cooperative-sticky, range" as the default assignor875: First-class offsets support in Kafka Connect |
| connect | Partially Done Includes internal changes + list offsets API clients | ||||||||||||
797: Accept duplicate listener on port for IPv4/IPv6 |
| core | client | PR available Done (updated assignors, 3.4 only had the new protocol) | |||||||||||
KIP-813: Shareable State Stores884: Add config to configure KafkaClientSupplier in Kafka Streams |
| streamsStreams | PR availableDone | ||||||||||||
KIP-821: Connect Transforms support for nested structures887: Add ConfigProvider to make use of environment variables |
| clients | connectDone | ||||||||||||
KIP-844889: Transactional Versioned State Stores |
| streamsStreams | PR availableDone | ||||||||||||
KIP-847: Add ProducerIdCount metrics893: The Kafka protocol should support nullable structs |
| core | PR availableDone | ||||||||||||
KIP-862: Self-join optimization for stream-stream joins894: Use incrementalAlterConfig for syncing topic configurations |
| connect | streamsDone | ||||||||||||
KIP-863: Reduce Fetcher#parseRecord() memory copy900: KRaft kafka-storage.sh API additions to support SCRAM for Kafka Brokers |
| clientscore | PR availableDone | ||||||||||||
KIP-866 ZooKeeper to KRaft Migration903: Replicas with stale broker epoch should not be allowed to join the ISR |
| core |
| core | Done | ||||||||||
| Streams | Done (system test missing) | |||||||||||||
KIP-907: Add Boolean Serde to public interfaceKIP-884: Add config to configure KafkaClientSupplier in Kafka Streams |
| streamsStreams | Done | ||||||||||||
KIP-887911: Add ConfigProvider to make use of environment variablessource tag to Mirror source metric |
| clientsconnect | PR availableDone | ||||||||||||
KIP-889914: DSL Processor Semantics for Versioned State Stores |
| Streams | streamsDone | ||||||||||||
893: The Kafka protocol should support nullable structs |
| core | Done |
Postponed to subsequent release
KIP | JIRA | ||||||||
---|---|---|---|---|---|---|---|---|---|
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 |
|