Release Dates
- KIP Freeze: Sep 30, 2020 (a KIP must be accepted by this date in order to be considered for this release)
- Feature Freeze: Oct 7, 2020 (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: Oct 21, 2020Release: estimated
- Nov 6Released Dec 21, 2020
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 Bill Bejeck
...
This is a list of key features/improvements/bugfixes that we can include with release notes:
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 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 tests. We 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 RCs. Even though only PMC votes are binding, community votes are super important as we evaluate the readiness of the release
Open Issues
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
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.
KIP | JIRA | Component | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
KIP-662: Throw Exception when Source Topics of a Streams App are Deleted |
| Kafka Streams | |||||||||||||||||||
KIP-654: Aborted transaction with non-flushed data should throw a non-fatal exception |
| Kafka Clients | |||||||||||||||||||
KIP-651 - Support PEM format for SSL certificates and private key |
| Core | |||||||||||||||||||
KIP-648: Renaming getter method for Interactive Queries |
| Kafka Streams | |||||||||||||||||||
KIP-632: Add DirectoryConfigProvider |
| ||||||||||||||||||||
KIP-626: Rename StreamsConfig config variable name |
| Kafka Streams | KIP-623: Add "internal-topics" option to streams application reset tool |
| Kafka Streams | ||||||||||||||||
KIP-620 Deprecate ConsumerConfig#addDeserializerToConfig and ProducerConfig#addSerializerToConfig |
| Kafka Clients | |||||||||||||||||||
KIP-617: Allow Kafka Streams State Stores to be iterated backwards |
| Kafka Streams | |||||||||||||||||||
KIP-616: Rename implicit Serdes instances in kafka-streams-scala |
| Kafka Streams | |||||||||||||||||||
KIP-613: Add end-to-end latency metrics to Streams |
| Kafka Streams | |||||||||||||||||||
KIP-612: Ability to Limit Connection Creation Rate on Brokersold |
| Core | |||||||||||||||||||
KIP-607: Add Metrics to Kafka Streams to Report Properties of RocksDB |
| CoreKafka Streams | |||||||||||||||||||
KIP-608 - Expose Kafka Metrics in Authorizer601: Configurable socket connection timeout in NetworkClient |
| Core | |||||||||||||||||||
KIP-607: Add Metrics to Kafka Streams to Report Properties of RocksDB599: Throttle Create Topic, Create Partition and Delete Topic Operations |
| Kafka StreamsCore | |||||||||||||||||||
KIP-601: Configurable socket connection timeout in NetworkClient597: MirrorMaker2 internal topics Formatters |
| ||||||||||||||||||||
KIP-584: Versioning scheme for features |
| ||||||||||||||||||||
KIP-599: Throttle Create Topic, Create Partition and Delete Topic Operations572: Improve timeouts and retries in Kafka Streams |
| CoreKafka Streams | |||||||||||||||||||
KIP-597: MirrorMaker2 internal topics Formatters554: Add Broker-side SCRAM Config API |
| Core | |||||||||||||||||||
KIP-590: Redirect Zookeeper Mutation Protocols to The Controller545: support automated consumer offset sync across clusters in MM 2.0 |
| Mirror Maker 2.0Core | |||||||||||||||||||
KIP-589 497: Add inter-broker API to update Replica state in Controlleralter ISR |
| Core | |||||||||||||||||||
KIP-588: Allow producers to recover gracefully from transaction timeouts478 - Strongly typed Processor API |
| Kafka ClientsStreams | |||||||||||||||||||
KIP-584: Versioning scheme for features450: Sliding Window Aggregations in the DSL |
| Kafka Streams | |||||||||||||||||||
KIP-580: Exponential Backoff for Kafka Clients431: Support of printing additional ConsumerRecord fields in DefaultMessageFormatter |
| Kafka ClientsTools |
Postponed to subsequent release
KIP | JIRA | Component |
---|---|---|
KIP- |
671: Introduce Kafka Streams Specific Uncaught Exception Handler |
|
| Kafka Streams | ||||||||||
KIP-653: Upgrade log4j to log4j2 |
| ||||||||||
KIP-623: Add "internal-topics" option to streams application reset tool |
| Kafka Streams | |||||||||
KIP-608 - Expose Kafka Metrics in Authorizer |
|
| Core | ||
KIP- |
590: Redirect Zookeeper Mutation Protocols to The Controller |
|
| Core | ||
KIP- |
589 Add |
API to |
update Replica state in Controller |
|
| Core | |||||||||
KIP-588: Allow producers to recover gracefully from transaction timeouts |
| Kafka Clients |
KIP- |
580: |
Exponential Backoff for Kafka Clients |
|
| Kafka Clients | ||
KIP- |
508: Make Suppression State Queriable |
|
| Kafka Streams | |||||||||
KIP-466: Add support for List<T> serialization and deserialization |
| |||||||||
KIP-418: A method-chaining way to branch KStream |
| Kafka Streams | ||||||||
KIP-373: Allow users to create delegation tokens for other users |
| |||||||||
KIP-359: Verify leader epoch in produce requests |
| Core | ||||||||
KIP-280: Enhanced log compaction |
| Core | ||||||||
KIP-216: IQ should throw different exceptions for different errors |
| Kafka Streams | ||||||||
KIP-81: Bound Fetch memory usage in the consumer |
| Kafka Clients |
Postponed to subsequent release
KIP | JIRA | Component | Committer | Comment
---|