...
- 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 15, 2019
- Release: Feb 28, 2019 (tentativetarget); Mar 22, 2019 (actual)
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:
...
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 |
| Clients | ||||||||||||||||||||||||||||||||||
KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner |
| Streams | partially implemented in v1.1 | |||||||||||||||||||||||||||||||||
KIP-150 - Kafka-Streams Cogroup |
| Streams | ||||||||||||||||||||||||||||||||||
KIP-258: Allow to Store Record Timestamps in RocksDB |
| Streams | ||||||||||||||||||||||||||||||||||
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues |
| Streams | partially implemented in v2.2 | |||||||||||||||||||||||||||||||||
KIP-320: Allow fetchers to detect and handle log truncation |
| Core | partially implemented in v2.1 | |||||||||||||||||||||||||||||||||
KIP-328: 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 |
| Core, Streams | ||||||||||||||||||||||||||||||||||
KIP-339: Create a new IncrementalAlterConfigs API |
| AminClient | ||||||||||||||||||||||||||||||||||
KIP-341: Update Sticky Assignor's User Data Protocol |
| Clients | ||||||||||||||||||||||||||||||||||
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 |