Release Dates

  • KIP Freeze: Sep 25, 2019 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: Oct 4, 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: Oct 16, 2019
  • Release: Dec 16


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 Manikumar Reddy O.

Release Features

This is a list of all the features/improvements/bugfixes that we can include with release notes:

- KIP-213: Support non-key joining in KTable
- KIP-307: Allow to define custom processor names with KStreams DSL
- KIP-309: Add toUpperCase support to sasl.kerberos.principal.to.local rule
- KIP-369: Alternative Partitioner to Support "Always Round-Robin" Selection
- KIP-379: Multiple Consumer Group Management
- KIP-382: MirrorMaker 2.0
- KIP-392: Allow consumers to fetch from closest replica
- KIP-412: Extend Admin API to support dynamic application log levels
- KIP-429: Kafka Consumer Incremental Rebalance Protocol (Partially implemented)
- KIP-434: Add Replica Fetcher and Log Cleaner Count Metrics
- KIP-440: Extend Connect Converter to support headers

- KIP-444: Augment metrics for Kafka Stream (Partially Implemented)
- KIP-455: Admin API for Replica Reassignment (Partially implemented)
- KIP-460: Admin Leader Election RPC
- KIP-464: Defaults for AdminClient#createTopic

- KIP-467: Augment ProduceResponse error messaging for specific culprit records (Partially implemented)
- KIP-470: TopologyTestDriver test input and output usability improvements
- KIP-471: Expose RocksDB Metrics in Kafka Streams (Partially Implemented)
- KIP-474: To deprecate WindowStore#put(key, value)
- KIP-475: New Metrics to Measure Number of Tasks on a Connector
- KIP-479: Add StreamJoined config object to Join
- KIP-480: Sticky Partitioner
- KIP-481: SerDe Improvements for Connect Decimal type in JSON
- KIP-482: The Kafka Protocol should Support Optional Fields
- KIP-484: Expose metrics for group and transaction metadata loading duration
- KIP-488: Clean up Sum,Count,Total Metrics
- KIP-492: Add java security providers in Kafka Security config
- KIP-495: Dynamically Adjust Log Levels in Connect
- KIP-496: Administrative API to delete consumer offsets
- KIP-503: Add metric for number of topics marked for deletion
- KIP-504: Add new Java Authorizer Interface
- KIP-525: Return topic metadata and configs in CreateTopics response
- KIP-507: Securing Internal Connect REST Endpoints

- KIP-511: Collect and Expose Client's Name and Version in the Brokers (Partially implemented)

- KIP-517: Add consumer metrics to observe user poll behavior
- KIP-521: Enable redirection of Connect's log4j messages to a file by default
- KIP-528: Deprecate PartitionGrouper configuration and interface

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.

KIPJIRAComponent
KIP-528: Deprecate PartitionGrouper configuration and interface

Unable to render Jira issues macro, execution error.

Streams
KIP-525 - Return topic metadata and configs in CreateTopics response

Unable to render Jira issues macro, execution error.

Core
KIP-521: Enable redirection of Connect's log4j messages to a file by default

Unable to render Jira issues macro, execution error.

Connect
KIP-517: Add consumer metrics to observe user poll behavior

Unable to render Jira issues macro, execution error.

Clients
KIP-511: Collect and Expose Client's Name and Version in the Brokers

Unable to render Jira issues macro, execution error.

Core  

(Partially implemented) 

KIP-507: Securing Internal Connect REST Endpoints

Unable to render Jira issues macro, execution error.

Connect
KIP-504 - Add new Java Authorizer Interface

Unable to render Jira issues macro, execution error.

Core
KIP-503: Add metric for number of topics marked for deletion

Unable to render Jira issues macro, execution error.

Core
KIP-496: Administrative API to delete consumer offsets

Unable to render Jira issues macro, execution error.

Core
KIP-495: Dynamically Adjust Log Levels in Connect

Unable to render Jira issues macro, execution error.

Connect
KIP-492: Add java security providers in Kafka Security config

Unable to render Jira issues macro, execution error.

Core
KIP-488: Clean up Sum,Count,Total Metrics

Unable to render Jira issues macro, execution error.

Clients
KIP-484: Expose metrics for group and transaction metadata loading duration

Unable to render Jira issues macro, execution error.

Clients
KIP-482: The Kafka Protocol should Support Optional Tagged Fields

Unable to render Jira issues macro, execution error.

Core
KIP-481: SerDe Improvements for Connect Decimal type in JSON

Unable to render Jira issues macro, execution error.

Connect
KIP-480: Sticky Partitioner

Unable to render Jira issues macro, execution error.

Clients
KIP-479: Add Materialized to Join

Unable to render Jira issues macro, execution error.

Streams
KIP-476: Add Java AdminClient Interface

Unable to render Jira issues macro, execution error.

Clients
KIP-475: New Metrics to Measure Number of Tasks on a Connector

Unable to render Jira issues macro, execution error.

Connect
KIP-474: To deprecate WindowStore#put(key, value)

Unable to render Jira issues macro, execution error.

Streams
KIP-471: Expose RocksDB Metrics in Kafka Streams

Unable to render Jira issues macro, execution error.

Streams

 (Partially implemented) 

KIP-470: TopologyTestDriver test input and output usability improvements

Unable to render Jira issues macro, execution error.

Streams
KIP-467: Augment ProduceResponse error messaging for specific culprit records

Unable to render Jira issues macro, execution error.

Clients     (Partially implemented) 
KIP-464: Defaults for AdminClient#createTopic

Unable to render Jira issues macro, execution error.

Clients
KIP-460: Admin Leader Election RPC

Unable to render Jira issues macro, execution error.

Clients/Core
KIP-455: Create an Administrative API for Replica Reassignment

Unable to render Jira issues macro, execution error.

Clients/Core 

(Partially implemented)

KIP-444: Augment metrics for Kafka Streams

Streams 

(Partially implemented)

KIP-440: Extend Connect Converter to support headers

Unable to render Jira issues macro, execution error.

Connect
KIP-434: Add Replica Fetcher and Log Cleaner Count Metrics

Unable to render Jira issues macro, execution error.

Core
KIP-429: Kafka Consumer Incremental Rebalance Protocol

Unable to render Jira issues macro, execution error.

Clients

(Partially implemented)

KIP-412: Extend Admin API to support dynamic application log levels

Unable to render Jira issues macro, execution error.

Core/Clients
KIP-392: Allow consumers to fetch from closest replica

Unable to render Jira issues macro, execution error.

Core
KIP-382: MirrorMaker 2.0

Unable to render Jira issues macro, execution error.

Core
KIP-379: Multiple Consumer Group Management

Unable to render Jira issues macro, execution error.

Clients
KIP-369: Alternative Partitioner to Support "Always Round-Robin" Selection

Unable to render Jira issues macro, execution error.

Clients
KIP-309: Add toUpperCase support to sasl.kerberos.principal.to.local rule

Unable to render Jira issues macro, execution error.

Core
KIP-307: Allow to define custom processor names with KStreams DSL

Unable to render Jira issues macro, execution error.

Streams
KIP-213 Support non-key joining in KTable

Unable to render Jira issues macro, execution error.

Streams


Postponed to subsequent release


KIPJIRAComponent
KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint

Unable to render Jira issues macro, execution error.

Streams
KIP-352: Distinguish URPs caused by reassignment

Unable to render Jira issues macro, execution error.

Core
KIP-396: Add Reset/List Offsets Operations to AdminClient

Unable to render Jira issues macro, execution error.

Clients
KIP-401: TransformerSupplier/ProcessorSupplier StateStore connecting

Unable to render Jira issues macro, execution error.

Streams
KIP-446: Add changelog topic configuration to KTable suppress

Unable to render Jira issues macro, execution error.

Streams
KIP-466: Add support for List<T> serialization and deserialization

Unable to render Jira issues macro, execution error.

Streams
KIP-497: Add inter-broker API to alter ISR

Unable to render Jira issues macro, execution error.

Core



  • No labels