...
- KIP Freeze: Jan 24, 2019 (a KIP must be accepted by this date in order to be considered for this release)
- Feature Freeze: Jan 31, 2019 (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: Feb 1415, 2019
- Release: Feb 28, 2019 (target); Mar 22, 2019 (tentativeactual)
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.
...
This is a list of key features/improvements/bugfixes that we can include with release notes:
Added SSL support for custom principle name
- Allow SASL connections to periodically re-authenticate
Improved consumer group management
- default group.id is `null` instead of empty string
- Allow clients to suppress auto-topic-creation
- API improvement
- Producer: introduce close(Duration)
- AdminClient:
...
- introduce close(Duration)
- Kafka Streams: new flatTransform() operator in Streams DSL
- KafkaStreams (and other classed) now implement AutoClosable to support try-with-resource
- New Serdes and default method implementations
- Kafka Streams exposed internal client.id via ThreadMetadata
- Metric improvements: All `-min`, `-avg` and `-max` metrics will now output `NaN` as default valueTODO
How to Contribute
Before 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 | Committer | Comment |
---|---|---|---|---|
KIP- |
183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient |
|
|
Core, AdminClient |
KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change |
| Core | ||||||||||
KIP-289: Improve the default group id behavior in KafkaConsumer |
| Clients | ||||||||||
KIP-291: Separating controller connections and requests from the data plane |
| Core | ||||||||||
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues |
|
|
| Streams | partially implemented in v2. |
2 |
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 |
KIP- |
371: Add a configuration to build custom SSL principal name |
|
|
Core |
KIP- |
374: Add '-- |
help' option to all available Kafka CLI commands |
|
| Tools | ||||
KIP- |
376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement |
|
|
Streams | ||
KIP- |
377: |
TopicCommand to use AdminClient |
|
| AdminClient | |||||||||||
KIP-380: Detect outdated control requests and bounced brokers using broker generation |
| Core | ||||||||||
KIP-386: Standardize on Min/Avg/Max metrics' default value |
|
| Clients, |
Streams | |||||||||||
KIP-389: Introduce a configurable consumer group size limit |
| Core |
KIP- |
393: Time windowed serde to properly deserialize changelog input topic |
| Streams | ||||||||||
KIP-394: Require member.id for initial join group request |
|
| Clients | |||||||||||
KIP-414: Expose Embedded ClientIds in Kafka Streams |
| Streams | ||||||||||
KIP-420: Add Single Value Fetch in Session Stores |
| Streams |
Postponed to subsequent release
KIP | JIRA | Component | Committer | Comment | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
KIP-81: Bound Fetch memory usage in the consumer | Broker,Clients | KIP-371: Add a configuration to build custom SSL principal name |
| Clients | Core | |||||||||||||||||||||||||||||||
KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner |
| Streams | partially implemented in v1.1 | |||||||||||||||||||||||||||||||||
KIP-150 - Kafka-Streams Cogroup376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement |
| Streams | ||||||||||||||||||||||||||||||||||
KIP-377258: TopicCommand to use AdminClientAllow to Store Record Timestamps in RocksDB |
| Streams | ||||||||||||||||||||||||||||||||||
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues |
| AdminClient |
| Streams | partially implemented in v2.2Colin McCabe | |||||||||||||||||||||||||||||||
KIP-380: Detect outdated control requests and bounced brokers using broker generation320: Allow fetchers to detect and handle log truncation |
| Core | partially implemented in v2.1 | |||||||||||||||||||||||||||||||||
KIP-386: Standardize on Min/Avg/Max metrics' default value328: Ability to suppress updates for KTables |
| Streams | partially implemented in v2.1 | |||||||||||||||||||||||||||||||||
KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde |
| ClientsCore, Streams | ||||||||||||||||||||||||||||||||||
KIP-393: Time windowed serde to properly deserialize changelog input topic339: Create a new IncrementalAlterConfigs API |
| AminClient | Streams | |||||||||||||||||||||||||||||||||
KIP-394: Require member.id for initial join group request341: Update Sticky Assignor's User Data Protocol |
| Clients |
Postponed to subsequent release
KIP-351: Add --under-min-isr option to describe topics command |
| Tools | ||||||||||
KIP-359: Verify leader epoch in produce requests |
|
|
Broker, Clients | ||||||||||||
KIP-361: Add Consumer Configuration to Disable Auto Topic Creation |
| Clients | ||||||||||
KIP-379: Multiple Consumer Group Management |
|
| Tools |