We will bump this release version to 1.0.0, and also starting in this release we will have a slight difference in the version numbers such that:
- We will use three digits instead of four for the release versions:
- The first digit would indicate the major revision (starting at 1), and second indicating minor revision, and the last one number indicating the bug-fix revision; when preparing RCs of the release we will still suffix it after the release version number. I.e. major.minor.bug-fix[-rc_number]
- KIP Freeze: Sept 13, 2017 (a KIP must be accepted by this date in order to be considered for this release)
- Feature Freeze: Sept 20, 2017 (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 4, 2017 (first RC created now)
- Release: JTBD
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 Guozhang Wang.
This is a list of key features/improvements/bugfixes that we can include with release notes (WIP):
- Java 9 support with significantly faster TLS and CRC32C implementations
- JBOD improvements: disk failure disables the failed disk instead of the broker (KIP-112/KIP-113 part 1)
- Idempotent producer supports a maximum of 5 in-flight requests per connection instead of 1
- Improved metrics (KIP-164, KIP-168, KIP-187, KIP-188, KIP-196) and logging
- Improve diagnostics for SASL and SSL authentication failures (KIP-152)
- Kafka Streams API improvements (KIP-120 / 130 / 138 / 150 / 160 / 161), and drop compatibility "Evolving" annotations
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
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.
Postponed to subsequent release
|1||KIP-48 Delegation token support for Kafka||- KAFKA-1696Getting issue details... STATUS||Security||?|
|2||KIP-81: Bound Fetch memory usage in the consumer||- KAFKA-4133Getting issue details... STATUS||Consumer||Jason Gustafson|
|3||KIP-91 Provide Intuitive User Timeouts in The Producer||- KAFKA-5886Getting issue details... STATUS||Producer|
|4||KIP-113: Support replicas movement between log directories (part 2)||- KAFKA-5163Getting issue details... STATUS||Broker||Jun Rao|
|5||KIP-118: Drop Support for Java 7||- KAFKA-4423Getting issue details... STATUS||Build||Guozhang Wang|
|6||KIP-150 - Kafka-Streams Cogroup||- KAFKA-6049Getting issue details... STATUS||Streams||Guozhang Wang|
|7||KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress||- KAFKA-5565Getting issue details... STATUS||Broker||Jason Gustafson|
|8||KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient||- KAFKA-5692Getting issue details... STATUS||Tools/Broker||Ismael Juma|