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 target release date is fixed at ~2w after code freeze, RCs will roll out as needed until the release vote passes.

The release manager is Dong Lin.

Release Features

This is a list of key features/improvements/bugfixes that we can include with release notes:

How to Contribute

Before code freeze:

After code freeze:

Open Issues

Also feel free to refer to this release page for more details of the included tickets.

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.

KIPJIRAComponentCommitter (reviewer)Comment

KIP-91 Provide Intuitive User Timeouts in The Producer

Clients
KIP-110: Add Codec for ZStandard Compression

Broker, Clients
KIP-206: Add support for UUID serialization and deserialization

Clients
KIP-211: Revise Expiration Semantics of Consumer Group Offsets

Broker, Clients
KIP-231: Improve the Required ACL of ListGroups API

Security
KIP-235: Add DNS alias support for secured connection

Clients
KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses

Clients
KIP-306: Configuration for Delaying Response to Failed Client Authentication

Client
KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides configs

Broker
KIP-312: Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties

Streams
KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier

Streams
KIP-321: Update TopologyDescription to better represent Source and Sink Nodes

Streams
KIP-322: Return new error code for DeleteTopics API when topic deletion disabled

Tools
KIP-324: Add method to get metrics() in AdminClient

AdminClient
KIP-328: Ability to suppress updates for KTables

StreamsMatthias Saxpartially implemented in v2.1
KIP-330: Add retentionPeriod in SessionBytesStoreSupplier

Streams
KIP-332: Update AclCommand to use AdminClient API

Tools
KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer

Clients
KIP-338 Support to exclude the internal topics in kafka-topics.sh command

Tools
KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file

Tools
KIP-342: Add support for Custom SASL extensions in OAuthBearer authentication

Security
KIP-353: Improve Kafka Streams Timestamp Synchronization

Streams
KIP-356: Add withCachingDisabled() to StoreBuilder

StreamsMatthias Sax
KIP-357: Add support to list ACLs per principal

Tools
KIP-358: Migrate Streams API to Duration instead of long ms times

Streams
KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde

Streams
KIP-366: Make FunctionConversions deprecated

Streams
KIP-372: Naming Repartition Topics for Joins and Grouping

Streams

 

Postponed to subsequent release

 

KIPJIRAComponentCommitterComment
KIP-81: Bound Fetch memory usage in the consumer

Clients
KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner

Streams
partially implemented in v1.1
KIP-150 - Kafka-Streams Cogroup

Streams

KIP-289: Improve the default group id behavior in KafkaConsumer

Clients

KIP-313: Add KStream.flatTransform and KStream.flatTransformValues

Streams
KIP-320: Allow fetchers to detect and handle log truncation

Broker,Clients
KIP-328: Ability to suppress updates for KTables

Streamspartially implemented in v2.1
KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde

Core, Streams

KIP-339: Create a new IncrementalAlterConfigs API

AminClient
KIP-341: Update Sticky Assignor's User Data Protocol

Clients
KIP-359: Verify leader epoch in produce requests

Broker,Clients

KIP-361: Add Consumer Configuration to Disable Auto Topic Creation

Clients

KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)

Clients,AdminClient

KIP-368: Allow SASL Connections to Periodically Re-Authenticate

Broker,Clients