Release Dates

  • 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 (target); 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.

The release manager is Matthias Sax .

Release Features

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 value

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 testsWe 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

key summary type created updated due assignee reporter priority status resolution

JQL and issue key arguments for this macro require at least one Jira application link to be configured

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.


KIPJIRAComponentCommitterComment
KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient

Unable to render Jira issues macro, execution error.

Core, AdminClient
KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Clients

KIP-291: Separating controller connections and requests from the data plane

Unable to render Jira issues macro, execution error.

Core

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

Unable to render Jira issues macro, execution error.

Unable to render Jira issues macro, execution error.

Streamspartially implemented in v2.2
KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)

Unable to render Jira issues macro, execution error.

Clients,AdminClient
KIP-368: Allow SASL Connections to Periodically Re-Authenticate

Unable to render Jira issues macro, execution error.

Broker,Clients
KIP-371: Add a configuration to build custom SSL principal name

Unable to render Jira issues macro, execution error.

Core

KIP-374: Add '--help' option to all available Kafka CLI commands

Unable to render Jira issues macro, execution error.

Tools

KIP-376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement

Unable to render Jira issues macro, execution error.

Streams

KIP-377: TopicCommand to use AdminClient

Unable to render Jira issues macro, execution error.

AdminClient
KIP-380: Detect outdated control requests and bounced brokers using broker generation

Unable to render Jira issues macro, execution error.

Core

KIP-386: Standardize on Min/Avg/Max metrics' default value

Unable to render Jira issues macro, execution error.

Clients,Streams

KIP-389: Introduce a configurable consumer group size limit

Unable to render Jira issues macro, execution error.

Core
KIP-393: Time windowed serde to properly deserialize changelog input topic

Unable to render Jira issues macro, execution error.

Streams

KIP-394: Require member.id for initial join group request

Unable to render Jira issues macro, execution error.

Clients

KIP-414: Expose Embedded ClientIds in Kafka Streams

Unable to render Jira issues macro, execution error.

Streams
KIP-420: Add Single Value Fetch in Session Stores

Unable to render Jira issues macro, execution error.

Streams

Postponed to subsequent release

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

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Unable to render Jira issues macro, execution error.

Unable to render Jira issues macro, execution error.

Unable to render Jira issues macro, execution error.

Streams


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

Unable to render Jira issues macro, execution error.

Streams

KIP-258: Allow to Store Record Timestamps in RocksDB

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Unable to render Jira issues macro, execution error.

Streamspartially implemented in v2.2
KIP-320: Allow fetchers to detect and handle log truncation

Unable to render Jira issues macro, execution error.

Unable to render Jira issues macro, execution error.

Unable to render Jira issues macro, execution error.

Corepartially implemented in v2.1
KIP-328: Ability to suppress updates for KTables

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Core, Streams
KIP-339: Create a new IncrementalAlterConfigs API

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Clients
KIP-351: Add --under-min-isr option to describe topics command

Unable to render Jira issues macro, execution error.

Tools
KIP-359: Verify leader epoch in produce requests

Unable to render Jira issues macro, execution error.

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

Unable to render Jira issues macro, execution error.

Clients
KIP-379: Multiple Consumer Group Management

Unable to render Jira issues macro, execution error.

Tools