Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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 1415, 2019
  • Release: Feb 28, 2019 (target); Mar 22, 2019 (tentativeactual)


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:

...

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-
81: Bound Fetch memory usage in the consumer
183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

4133

5692

Clients
Core, AdminClient
Jason Gustafson


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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-2334

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-6774

Clients

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4453

Core

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4217

StreamsKIP-328: Ability to suppress updates for KTables

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

6556

7875

Streamspartially implemented in v2.
1
2
KIP-
331 Add default implementation to
367 Introduce close(Duration)
and configure() for Serializer, Deserializer and Serde
to Producer and AdminClient instead of close(long, TimeUnit)

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

6161

7391

Core
Clients,
Streams
AdminClient
guozhang Wang

KIP-
339: Create a new IncrementalAlterConfigs API
368: Allow SASL Connections to Periodically Re-Authenticate

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

7466

7352

AminClient
Broker,Clients
Colin McCabe


KIP-
341: Update Sticky Assignor's User Data Protocol
371: Add a configuration to build custom SSL principal name

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

7026

5462

Clients
Core


KIP-
351
374: Add '--
under-min-isr option to describe topics command
help' option to all available Kafka CLI commands

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

7236

7418

Tools

KIP-
359: Verify leader epoch in produce requests
376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

7383

7402

Broker,Clients
Streams

KIP-
361
377:
Add Consumer Configuration to Disable Auto Topic Creation
TopicCommand to use AdminClient

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

7320

7433

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7235

Core

KIP-386: Standardize on Min/Avg/Max metrics' default value
ClientsKIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

7391

7528

Clients,
AdminClient
Streams

KIP-389: Introduce a configurable consumer group size limit

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7641

Core
Colin McCabe


KIP-
368: Allow SASL Connections to Periodically Re-Authenticate
393: Time windowed serde to properly deserialize changelog input topic

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7110

Streams

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

7352

7610

Clients

KIP-414: Expose Embedded ClientIds in Kafka Streams

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7798

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7652

Streams

Postponed to subsequent release


KIPJIRAComponentCommitterComment
KIP-81: Bound Fetch memory usage in the consumerBroker,ClientsKIP-371: Add a configuration to build custom SSL principal name

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-54624133

ClientsCore


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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-3745

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4218

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7842

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7843

Streams


partially implemented in v1.1
KIP-150 - Kafka-Streams Cogroup376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-74026049

Streams

KIP-377258: TopicCommand to use AdminClientAllow to Store Record Timestamps in RocksDB

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-3522

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-4217

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7433

AdminClient

7875

Streamspartially implemented in v2.2Colin McCabe
KIP-380: Detect outdated control requests and bounced brokers using broker generation320: Allow fetchers to detect and handle log truncation

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-6880

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7395

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-72357440

Corepartially implemented in v2.1
KIP-386: Standardize on Min/Avg/Max metrics' default value328: Ability to suppress updates for KTables

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-6556

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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-75286161

ClientsCore, Streams
KIP-393: Time windowed serde to properly deserialize changelog input topic339: Create a new IncrementalAlterConfigs API

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-71107466

AminClientStreams


KIP-394: Require member.id for initial join group request341: Update Sticky Assignor's User Data Protocol

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-76107026

Clients

Postponed to subsequent release

 


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

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7236

Tools
KIP-359: Verify leader epoch in produce requests
KIPJIRAComponentCommitterCommentKIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

4218

7383

Streamspartially implemented in v1.1KIP-150 - Kafka-Streams Cogroup
Broker, Clients
KIP-361: Add Consumer Configuration to Disable Auto Topic Creation

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-7320

Clients
KIP-379: Multiple Consumer Group Management

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-

6049

7471

Tools
Streams