Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add recently adopted KIPs

...


KIP (please keep this sorted by KIP number)

Release

1KIP-497: Add inter-broker API to alter ISR2.4.0 (WIP)
2KIP-488: Clean up Sum,Count,Total Metrics2.4.0
23KIP-484: Expose metrics for group and transaction metadata loading duration2.4.0 (WIP)
34KIP-480: Sticky Partitioner2.4.0
45KIP-479: Add Materialized to Join2.4.0(WIP)
56KIP-476: Add Java AdminClient Interface2.4.0
67KIP-475: New Metrics to Measure Number of Tasks on a Connector2.4.0 (WIP)
78KIP-474: To deprecate WindowStore#put(key, value)2.4.0 (WIP)
89KIP-471: Expose RocksDB Metrics in Kafka Streams

2.4.0 (WIP)

910KIP-467: Augment ProduceResponse error messaging for specific culprit records2.4.0 (WIP)
1011KIP-465: Add Consolidated Connector Endpoint to Connect REST API2.3.0
1112KIP-464: Defaults for AdminClient#createTopic2.4.0
1213KIP-462: Use local thread id for KStreams2.3.0
1314KIP-461: Improve Replica Fetcher behavior at handling partition failure2.3.0
1415KIP-460: Admin Leader Election RPC2.4.0
1516KIP-458: Connector Client Config Override Policy2.3.0
1617KIP-455: Create an Administrative API for Replica Reassignment2.4.0 (WIP)
1718KIP-454: Expansion of the ConnectClusterState interface2.3.0
1819KIP-453: Add close() method to RocksDBConfigSetter2.3.0
1920KIP-449: Add connector contexts to log messages in Connect workers 2.3.0
2021KIP-446: Add changelog topic configuration to KTable suppress2.4.0 (WIP)
2122KIP-445: In-memory Session Store2.3.0
2223

KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics

2.3.0
2324KIP-442: Return to default max poll interval in Streams2.3.0
2425KIP-440: Extend Connect Converter to support headers2.4.0 (WIP)
2526KIP-436: Add a metric indicating start time2.3.0
2627KIP-430 - Return Authorized Operations in Describe Responses2.3.0
2728KIP-429: Kafka Consumer Incremental Rebalance Protocol2.4.0 (WIP)
2829KIP-428: Add in-memory window store2.3.0
2930KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)2.3.0
3031KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers2.3.0
3132KIP-421: Support resolving externalized secrets in AbstractConfig2.3.0
3233KIP-420: Add Single Value Fetch in Session Stores2.2.0
3334KIP-417: Allow JmxTool to connect to a secured RMI port2.3.0
3435KIP-415: Incremental Cooperative Rebalancing in Kafka Connect2.3.0
3536KIP-414: Expose Embedded ClientIds in Kafka Streams2.2.0
3637KIP-412: Extend Admin API to support dynamic application log levels2.4.0 (WIP)
3738

KIP-411: Make default Kafka Connect worker task client IDs distinct

2.3.0
3839KIP-402: Improve fairness in SocketServer processors2.2.0 (partially implemented) / 2.3.0
3940KIP-396: Add Commit/List Offsets Operations to AdminClient2.4.0 (WIP)
4041KIP-394: Require member.id for initial join group request2.2.0
4142KIP-393: Time windowed serde to properly deserialize changelog input topic2.2.0
4243KIP-389: Introduce a configurable consumer group size limit2.2.0
4344KIP-386: Standardize on Min/Avg/Max metrics' default value2.2.0
4445KIP-382: MirrorMaker 2.02.4.0 (WIP)
4546

KIP-379: Multiple Consumer Group Management

2.4.0 (WIP)
4647KIP-380: Detect outdated control requests and bounced brokers using broker generation2.2.0
4748KIP-377: TopicCommand to use AdminClient2.2.0
4849KIP-376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement2.2.0
4950KIP-374: Add '--help' option to all available Kafka CLI commands2.2.0
5051KIP-372: Naming Repartition Topics for Joins and Grouping2.1.0
5152KIP-371: Add a configuration to build custom SSL principal name2.2.0
5253KIP-369: Alternative Partitioner to Support "Always Round-Robin" Selection2.4.0
5354KIP 368: Allow SASL Connections to Periodically Re-Authenticate2.2.0
5455KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)2.2.0
5556KIP-366: Make FunctionConversions deprecated2.1.0
5657KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde2.1.0
5758KIP-361: Add Consumer Configuration to Disable Auto Topic Creation2.3.0
59KIP-360: Improve handling of unknown producer2.4.0 (WIP)
5860KIP-359: Verify leader epoch in produce requests2.4.0 (WIP)
5961KIP-358: Migrate Streams API to Duration instead of long ms times2.1.0
6062KIP-357: Add support to list ACLs per principal2.1.0
6163KIP-356: Add withCachingDisabled() to StoreBuilder2.1.0
6264KIP-354: Add a Maximum Log Compaction Lag2.3.0
6365KIP-353: Improve Kafka Streams Timestamp Synchronization2.1.0.1.0
66KIP-352: Distinguish URPs caused by reassignment2.4.0 (WIP)
6764KIP-351: Add --under-min-isr option to describe topics command2.3.0
6568KIP-346: Improve LogCleaner behavior on error2.1
6669KIP-345: Introduce static membership protocol to reduce consumer rebalances2.4.0 (WIP), partially available in 2.3.0
6770KIP-342 Add support for custom SASL extensions in OAuthBearer authentication2.1.0
6871KIP-341: Update Sticky Assignor's User Data Protocol2.3.0
6972KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file2.1.0
7073KIP-339: Create a new IncrementalAlterConfigs API2.3.0 
7174KIP-338 Support to exclude the internal topics in kafka-topics.sh command2.1.0
7275KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer2.1.0
7376KIP-332: Update AclCommand to use AdminClient API2.1.0
7477KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde2.3.0
7578KIP-330: Add retentionPeriod in SessionBytesStoreSupplier2.1.0
7679KIP-328: Ability to suppress updates for KTables2.1.0 (partially implemented) / 2.3.0 (WIP)
7780KIP-324: Add method to get metrics() in AdminClient2.1.0
7881KIP-322: Return new error code for DeleteTopics API when topic deletion disabled.2.1.0
7982KIP-321: Update TopologyDescription to better represent Source and Sink Nodes2.1.0
8083KIP-320: Allow fetchers to detect and handle log truncation2.1.0 (partially implemented) / 2.2.0
8184KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier2.1.0
8285KIP-313: Add KStream.flatTransform and KStream.flatTransformValues 

2.2.0 (partially implemented)

/ 2.3.0

8386KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties2.1.0
8487KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides2.1.0
8588KIP-307: Allow to define custom processor names with KStreams DSL2.3.0 (partial)
8689KIP-306: Configuration for Delaying Response to Failed Authentication2.1.0
8790KIP-305: Add Connect primitive number converters2.0.0
8891KIP-303: Add Dynamic Routing in Streams Sink2.0.0
8992KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses2.1.0
9093KIP-300: Add Windowed KTable API in StreamsBuilder2.4.0
9194KIP-298: Error Handling in Connect2.0.0
9295KIP-297: Externalizing Secrets for Connect Configurations2.0.0
9396KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization2.0.0
9497KIP-294 - Enable TLS hostname verification by default2.0.0
9598

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

Accepted
9699KIP-292: Add transformValues() method to KTable2.0.0
97100KIP-290: Support for Prefixed ACLs2.0.0
98101KIP-289: Improve the default group id behavior in KafkaConsumer2.2.0
99102KIP-285: Connect Rest Extension Plugin2.0.0
100103KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE2.0.0
101104KIP-283: Efficient Memory Usage for Down-Conversion2.0.0
102105KIP-282: Add the listener name to the authentication context2.0.0
103106KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User2.0.0
104107KIP-279: Fix log divergence between leader and follower after fast leader fail over2.0.0
105108KIP-278 - Add version option to Kafka's commands2.0.0
106109KIP-277 - Fine Grained ACL for CreateTopics API2.0.0
107110KIP-276 - Add StreamsConfig prefix for different consumers2.0.0
108111KIP-274: Kafka Streams Skipped Records Metrics2.0.0
109112KIP-272: Add API version tag to broker's RequestsPerSec metric2.0.0
110113KIP-270 - A Scala Wrapper Library for Kafka Streams2.0.0
111114KIP-268: Simplify Kafka Streams Rebalance Metadata Upgrade2.0.0
112115KIP-267: Add Processor Unit Test Support to Kafka Streams Test Utils2.0.0
113116KIP-266: Fix consumer indefinite blocking behavior2.0.0
114117KIP-265: Make Windowed Serde to public APIs2.0.0
115118KIP-261: Add Single Value Fetch in Window Stores2.0.0
116119KIP-258: Allow to Store Record Timestamps in RocksDB2.3.0 (partially implemented)
117120KIP-257 - Configurable Quota Management2.0.0
118121KIP-255: OAuth Authentication via SASL/OAUTHBEARER2.0.0
119122KIP-251: Allow timestamp manipulation in Processor API2.0.0
120123KIP-249: Add Delegation Token Operations to KafkaAdminClient2.0.0
121124KIP-247: Add public test utils for Kafka Streams1.1.0
122125KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor2.0.0
123126KIP-244: Add Record Header support to Kafka Streams Processor API2.0.0
124127KIP-243: Make ProducerConfig and ConsumerConfig constructors public1.1.0
125128KIP-239 Add queryableStoreName() to GlobalKTable1.1.0
126129KIP-238: Expose Kafka cluster ID in Connect REST API1.1.0
127130KIP-237: More Controller Health Metrics2.0.0
128131KIP-235: Add DNS alias support for secured connection2.1.0
129132KIP-233: Simplify StreamsBuilder#addGlobalStore1.1.0
130133KIP-231: Improve the Required ACL of ListGroups API2.1.0
131134KIP-229: DeleteGroups API1.1.0
132135KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability1.1.0
133136KIP-226 - Dynamic Broker Configuration1.1.0
134137KIP-225 - Use tags for consumer “records.lag” metrics1.1.0
135138KIP-224: Add configuration parameter `retries` to Streams API1.1.0
136139KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer2.0.0
137140KIP-222 - Add Consumer Group operations to Admin API2.0.0
138141KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint2.4.0 (WIP)
139142KIP-220: Add AdminClient into Kafka Streams' ClientSupplier1.1.0
140143KIP-219 - Improve quota communication2.0.0
141144KIP-218: Make KafkaFuture.Function java 8 lambda compatible1.1.0
142145KIP-215: Add topic regex support for Connect sinks1.1.0
143146KIP-214: Add zookeeper.max.in.flight.requests config to the broker1.1.0
144147KIP-213 Support non-key joining in KTable2.4.0 (WIP)
145148KIP-212: Enforce set of legal characters for connector names1.1.0
146149KIP-211: Revise Expiration Semantics of Consumer Group Offsets2.1.0
147150KIP-210 - Provide for custom error handling when Kafka Streams fails to produce1.1.0
148151KIP-208: Add SSL support to Kafka Connect REST interface1.1.0
149152KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change2.2.0
150153KIP-206: Add support for UUID serialization and deserialization2.1.0
151154KIP-205: Add all() and range() API to ReadOnlyWindowStore1.1.0
152155KIP-204 : Adding records deletion operation to the new Admin Client API1.1.0
153156KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule 1.1.0
154157KIP-202: Move merge() from StreamsBuilder to KStream1.0.0
155158KIP-198: Remove ZK dependency from Streams Reset Tool1.0.0
156159KIP-197 Connect REST API should include the connector type when describing a connector1.0.0
157160KIP-196: Add metrics to Kafka Connect framework1.0.0
158161KIP-195: AdminClient.createPartitions1.0.0
159162KIP-192 : Provide cleaner semantics when idempotence is enabled1.0.0
160163KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern1.0.0
161164KIP-190: Handle client-ids consistently between clients and brokers1.0.0
162165KIP-189: Improve principal builder interface and add support for SASL1.0.0
163166KIP-188 - Add new metrics to support health checks1.0.0
164167KIP-187 - Add cumulative count metric for all Kafka rate metrics1.0.0
165168KIP-186: Increase offsets retention default to 7 days2.0.0
166169KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient2.2.0
167170KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines1.0.0
168171KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress1.1.0
169172KIP-177: Consumer perf tool should count rebalance time1.0.0
170173KIP-176: Remove deprecated new-consumer option for tools2.0.0
171174KIP-175: Additional '--describe' views for ConsumerGroupCommand1.1.0
172175KIP-174 - Deprecate and remove internal converter configs in WorkerConfig2.0.0
173176KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs1.0.0
174177KIP-171 - Extend Consumer Group Reset Offset for Stream Application1.1.0
175178KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster1.0.0
176179KIP-167: Add interface for the state store restoration process1.0.0
177180

KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics

1.0.0
178181

KIP-163: Lower the Minimum Required ACL Permission of OffsetFetch

1.0.0
179182KIP-162: Enable topic deletion by default1.0.0
180183KIP-161: streams deserialization exception handlers1.0.0
181184KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string1.0.0
182185KIP-157 - Add consumer config options to streams reset tool1.0.0
183186KIP-156 Add option "dry run" to Streams application reset tool0.11.0.0
184187KIP-155 - Add range scan for windowed state stores0.11.0.0
185188KIP-154 Add Kafka Connect configuration properties for creating internal topics0.11.0.0
186189KIP-153: Include only client traffic in BytesOutPerSec metric0.11.0.0
187190KIP-152 - Improve diagnostics for SASL authentication failures1.0.0
188191KIP-151 Expose Connector type in REST API0.11.0.0
189192KIP-150 - Kafka-Streams Cogroup2.4.0 (WIP)
190193KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner1.1.0 (partially implemented)
(WIP for 2.4.0)
191194KIP-146 - Classloading Isolation in Connect

0.11.0.0

192195KIP-145 - Expose Record Headers in Kafka Connect1.1.0
193196KIP-144: Exponential backoff for broker reconnect attempts0.11.0.0
194197KIP-143: Controller Health Metrics0.11.0.0
195198KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs0.11.0.0
196199KIP-138: Change punctuate semantics1.0.0
197200KIP-137: Enhance TopicCommand --describe to show topics marked for deletion0.11.0.0
198201KIP-136: Add Listener name to SelectorMetrics tags0.11.0.0
199202KIP-134: Delay initial consumer group rebalance0.11.0.0
200203KIP-133: Describe and Alter Configs Admin APIs0.11.0.0
201204KIP-130: Expose states of active tasks to KafkaStreams public API1.0.0
202205KIP-129: Streams Exactly-Once Semantics0.11.0.0
203206KIP-128: Add ByteArrayConverter for Kafka Connect0.11.0.0
204207KIP-126 - Allow KafkaProducer to split and resend oversized batches.0.11.0.0
205208KIP-124 - Request rate quotas0.11.0.0
206209KIP-123: Allow per stream/table timestamp extractor0.11.0.0
207210KIP-122: Add Reset Consumer Group Offsets tooling0.11.0.0
208211KIP-121: Add KStream peek method

0.11.0.0

209212KIP-120: Cleanup Kafka Streams builder API1.0.0
210213KIP-119: Drop Support for Scala 2.10 in Kafka 0.110.11.0.0
211214KIP-118: Drop Support for Java 72.0.0
212215KIP-117: Add a public AdminClient API for Kafka admin operations0.11.0.0
213216KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation0.11.0.0
214217KIP-114: KTable state stores and improved semantics0.11.0.0
215218KIP-113: Support replicas movement between log directories1.1.0
216219KIP-112: Handle disk failure for JBOD1.0.0
217220KIP-110: Add Codec for ZStandard Compression2.1.0
218221KIP-109: Old Consumer Deprecation0.11.0.0
219222KIP-108: Create Topic Policy0.10.2.0
220223KIP-107: Add deleteRecordsBefore() API in AdminClient0.11.0.0
221224

KIP-106 - Change Default unclean.leader.election.enabled from True to False

0.11.0.0
222225KIP-105: Addition of Record Level for Sensors0.10.2.0
223226KIP-104: Granular Sensors for Streams 0.10.2.0
224227KIP-103: Separation of Internal and External traffic0.10.2.0
225228KIP-102 - Add close with timeout for consumers0.10.2.0
226229KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation0.11.0.0
227230KIP-100 - Relax Type constraints in Kafka Streams API0.10.2.0
228231KIP-99: Add Global Tables to Kafka Streams0.10.2.0
229232KIP-98 - Exactly Once Delivery and Transactional Messaging0.11.0.0
230233KIP-97: Improved Kafka Client RPC Compatibility Policy0.10.2.0
231234KIP-96 - Add per partition metrics for in-sync and assigned replica count0.10.2.0
232235KIP-94 Session Windows0.10.2.0
233236KIP-93: Improve invalid timestamp handling in Kafka Streams0.10.2.0
234237KIP-92 - Add per partition lag metrics to KafkaConsumer0.10.2.0
235238KIP-91 Provide Intuitive User Timeouts in The Producer2.1.0
236239KIP-90 - Remove zkClient dependency from Streams0.10.2.0
237240KIP-89: Allow sink connectors to decouple flush and offset commit0.10.2.0
238241KIP-88: OffsetFetch Protocol Update0.10.2.0
239242KIP-86: Configurable SASL callback handlers2.0.0
240243KIP-85: Dynamic JAAS configuration for Kafka clients0.10.2.0
241244KIP-84: Support SASL SCRAM mechanisms0.10.2.0
242245KIP-82 - Add Record Headers0.11.0.0
243246KIP-81: Bound Fetch memory usage in the consumer2.4.0 (WIP)
244247KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer0.10.1.0
245248KIP-78: Cluster Id0.10.1.0
246249KIP-77: Improve Kafka Streams Join Semantics0.10.2.0
247250KIP-75 - Add per-connector Converters0.10.1.0
248251KIP-74: Add Fetch Response Size Limit in Bytes0.10.1.0
249252KIP-73: Replication Quotas0.10.1.0
250253KIP-72: Allow putting a bound on memory consumed by Incoming request 1.0.0
251254KIP-71: Enable log compaction and deletion to co-exist0.10.1.0
252255KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change0.10.1.0
253256KIP-67: Queryable state for Kafka Streams0.10.1.0
254257KIP-66: Single Message Transforms for Kafka Connect0.10.2.0 / 0.11.0.0
255258KIP-65: Expose timestamps to Connect0.10.1.0
256259KIP-63: Unify store and downstream caching in streams0.10.1.0
257260KIP-62: Allow consumer to send heartbeats from a background thread0.10.1.0
258261KIP-60 - Make Java client classloading more flexible0.10.1.0
259262KIP-58 - Make Log Compaction Point Configurable0.10.1.0
260263KIP-57 - Interoperable LZ4 Framing0.10.0.0
261264KIP-56: Allow cross origin HTTP requests on all HTTP methods0.10.0.0
262265KIP-55: Secure Quotas for Authenticated Users0.10.1.0
263266KIP-54: Sticky Partition Assignment Strategy0.11.0.0
264267KIP-52: Connector Control APIs0.10.0.0
265268KIP-51 - List Connectors REST API0.10.0.0
266269KIP-48 Delegation token support for Kafka1.1.0
267270KIP-45 - Standardize all client sequence interaction on j.u.Collection.0.10.0.0
268271KIP-43: Kafka SASL enhancements0.10.0.0
269272KIP-42: Add Producer and Consumer Interceptors0.10.0.0
270273KIP-41: Consumer Max Records0.10.0.0
271274KIP-40: ListGroups and DescribeGroup0.9.0.0
272275KIP-38: ZooKeeper Authentication0.9.0.0
273276KIP-36 - Rack aware replica assignment0.10.0.0
274277KIP-35 - Retrieving protocol version0.10.0.0
275278KIP-33 - Add a time based log index0.10.1.0
276279KIP-32 - Add timestamps to Kafka message0.10.0.0
277280KIP-31 - Move to relative offsets in compressed message sets0.10.0.0
278281KIP-28 - Add a processor client0.10.0.0
279282KIP-26 - Add Kafka Connect framework for data import/export0.9.0.0
280283KIP-25 - System test improvements0.9.0.0
281284KIP-22 - Expose a Partitioner interface in the new producer0.9.0.0
282285KIP-21 - Dynamic Configuration0.9.0.0 (WIP)
283286KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system0.9.0.0
284287KIP-19 - Add a request timeout to NetworkClient0.9.0.0
285288KIP-16 - Automated Replica Lag Tuning0.9.0.0
286289KIP-15 - Add a close method with a timeout in the producer0.9.0.0
287290KIP-13 - Quota Design0.9.0.0
288291KIP-12 - Kafka Sasl/Kerberos and SSL implementation0.9.0.0
289292KIP-11 - Kafka Authorizer design0.9.0.0
290293KIP-8 - Add a flush method to the producer API0.9.0.0
291294KIP-4 - Metadata Protocol Changes0.10.0.0
292295KIP-4 - Command line and centralized administrative operations0.9.0.0, 0.10.0.0, 0.10.1.0
293296KIP-3 - Mirror Maker Enhancement0.9.0.0
294297KIP-2 - Refactor brokers to allow listening on multiple ports and IPs0.9.0.0
295298KIP-1 - Remove support of request.required.acks0.9.0.0

...