This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Release Plan 2.2.0 (Feb 2019)
Skip to end of metadata
Go to start of metadata

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 T Created Updated Due Assignee Reporter P Status Resolution
Loading...
Refresh

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

KAFKA-5692 - Getting issue details... STATUS

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

KAFKA-2334 - Getting issue details... STATUS

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

KAFKA-6774 - Getting issue details... STATUS

Clients

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

KAFKA-4453 - Getting issue details... STATUS

Core

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

KAFKA-4217 - Getting issue details... STATUS

KAFKA-7875 - Getting issue details... STATUS

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

KAFKA-7391 - Getting issue details... STATUS

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

KAFKA-7352 - Getting issue details... STATUS

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

KAFKA-5462 - Getting issue details... STATUS

Core

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

KAFKA-7418 - Getting issue details... STATUS

Tools

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

KAFKA-7402 - Getting issue details... STATUS

Streams

KIP-377: TopicCommand to use AdminClient

KAFKA-7433 - Getting issue details... STATUS

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

KAFKA-7235 - Getting issue details... STATUS

Core

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

KAFKA-7528 - Getting issue details... STATUS

Clients,Streams

KIP-389: Introduce a configurable consumer group size limit

KAFKA-7641 - Getting issue details... STATUS

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

KAFKA-7110 - Getting issue details... STATUS

Streams

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

KAFKA-7610 - Getting issue details... STATUS

Clients

KIP-414: Expose Embedded ClientIds in Kafka Streams

KAFKA-7798 - Getting issue details... STATUS

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

KAFKA-7652 - Getting issue details... STATUS

Streams

Postponed to subsequent release

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

KAFKA-4133 - Getting issue details... STATUS

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

KAFKA-3745 - Getting issue details... STATUS

KAFKA-4218 - Getting issue details... STATUS

KAFKA-7842 - Getting issue details... STATUS

KAFKA-7843 - Getting issue details... STATUS

Streams


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

KAFKA-6049 - Getting issue details... STATUS

Streams

KIP-258: Allow to Store Record Timestamps in RocksDB

KAFKA-3522 - Getting issue details... STATUS

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

KAFKA-4217 - Getting issue details... STATUS

KAFKA-7875 - Getting issue details... STATUS

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

KAFKA-6880 - Getting issue details... STATUS

KAFKA-7395 - Getting issue details... STATUS

KAFKA-7440 - Getting issue details... STATUS

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

KAFKA-6556 - Getting issue details... STATUS

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

KAFKA-6161 - Getting issue details... STATUS

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

KAFKA-7466 - Getting issue details... STATUS

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

KAFKA-7026 - Getting issue details... STATUS

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

KAFKA-7236 - Getting issue details... STATUS

Tools
KIP-359: Verify leader epoch in produce requests

KAFKA-7383 - Getting issue details... STATUS

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

KAFKA-7320 - Getting issue details... STATUS

Clients
KIP-379: Multiple Consumer Group Management

KAFKA-7471 - Getting issue details... STATUS

Tools