Release Dates

  • KIP Freeze: May 11, 2019 (a KIP must be accepted by this date in order to be considered for this release)
  • Feature Freeze: May 17, 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: May 29, 2019
  • Release: June 12, 2019 (target)

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 Colin McCabe

Release Features

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

  • There have been several improvements to the Kafka Connect REST API.
  • Kafka Connect now supports incremental cooperative rebalancing. 
  • Kafka Streams now supports an in-memory session store and window store.
  • The AdminClient now allows users to determine what operations they are authorized to perform on topics.
  • There is a new broker start time metric.
  • JMXTool can now connect to secured RMI ports.
  • An incremental AlterConfigs API has been added.  The old AlterConfigs API has been deprecated.
  • We now track partitions which are under their min ISR count.
  • Consumers can now opt-out of automatic topic creation, even when it is enabled on the broker.
  • Kafka components can now use external configuration stores (KIP-421)
  • Improved replica fetcher behavior when errors are encountered

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

Also feel free to refer to this release page for more details of the included tickets.

Planned KIP Content

See Kafka Improvement Proposals for the full list of KIPs.

KIP-465: Add Consolidated Connector Endpoint to Connect REST APIConnect
KIP-462: Use local thread id for KStreamsStreams
KIP-461: Improve Replica Fetcher behavior at handling partition failureCore
KIP-458: Connector Client Config Override PolicyConnect
KIP-454: Expansion of the ConnectClusterState interfaceConnect
KIP-453: Add close() method to RocksDBConfigSetterStreams
KIP-449: Add connector contexts to log messages in Connect workers  KAFKA-3816Connect
KIP-445: In-memory Session StoreKAFKA-8029Streams
KIP-443: Return to default and segment.index.bytes in Streams repartition topicsStreams
KIP-442: Return to default max poll interval in StreamsStreams
KIP-436: Add a metric indicating start time KAFKA-7992Core
KIP-430 - Return Authorized Operations in Describe ResponsesKAFKA-7922 Core
KIP-428: Add in-memory window storeKAFKA-4730Streams
KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)KAFKA-7904Core
KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured BrokersKAFKA-7896Core
KIP-421Support resolving externalized secrets in AbstractConfigKAFKA-7847 Core
KIP-417: Allow JmxTool to connect to a secured RMI portKAFKA-7455Core
KIP-415: Incremental Cooperative Rebalancing in Kafka ConnectKAFKA-5505Connect
KIP-411: Make default Kafka Connect worker task client IDs distinctKAFKA-5061Connect
KIP-402: Improve fairness in SocketServer processorsKAFKA-7719KAFKA-7730CorePartially implemented in 2.2.
KIP-361: Add Consumer Configuration to Disable Auto Topic CreationKAFKA-7320Core
KIP-351: Add --under-min-isr option to describe topics commandKAFKA-7236Core
KIP-345: Introduce static membership protocol to reduce consumer rebalancesKAFKA-7018KAFKA-7610, KAFKA-7728KAFKA-8224 Core, ClientsPartially implemented in 2.3 (can already be used)
KIP-339: Create a new IncrementalAlterConfigs APIKAFKA-7466CoreVoted on a while ago, but first implemented in 2.3.
KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and SerdeKAFKA-6161Streams
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues StreamsPartially implemented since 2.2.
KIP-307: Allow to define custom processor names with KStreams DSLKAFKA-6958StreamsPartially implemented in 2.3 (no public API improvements yet)
KIP-258: Allow to Store Record Timestamps in RocksDBKAFKA-3522 and KAFKA-8382 StreamsPartially implemented in 2.3
KIP-354: Add a Maximum Log Compaction Lag KAFKA-7321Core
  • No labels