Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated to reflect KIPs that were completed in AK 2.6.0

...


KIP (please keep this sorted by KIP number)

Release

1KIP-613: Add end-to-end latency metrics to Streams2.6.0 (partially implemented), remainder 2.7.0 (WIP)
2KIP-612: Ability to Limit Connection Creation Rate on Brokers2.7.0 (WIP)
3KIP-610: Error Reporting in Sink Connectors2.6.0
4KIP-608: Expose Kafka Metrics in Authorizer2.7.0 (WIP)
35KIP-606: Add Metadata Context to MetricsReporter2.6.0
46KIP-605: Expand Connect Worker Internal Topic Settings2.6.0
57KIP-604: Remove ZooKeeper Flags from the Administrative Toolssome parts in 2.67.0 (WIP), most parts scheduled for 3.0
68KIP-594: Expose output topic names from TopologyTestDriver2.6.0
79KIP-588: Allow producers to recover gracefully from transaction timeouts2.67.0 (WIP)
810KIP-586: Deprecate commit records without record metadata2.6.0
911KIP-585: Filter and Conditional SMTs2.6.0 (WIP)
1012KIP-584: Versioning scheme for features2.67.0 (WIP)
1113KIP-580: Exponential Backoff for Kafka Clients2.67.0 (WIP)
1214KIP-577: Allow HTTP Response Headers to be Configured for Kafka Connect2.6.0
1315KIP-574: CLI Dynamic Configuration with file input2.6.0
1416KIP-571: Add option to force remove members in StreamsResetter2.6.0
1517

KIP-570: Add leader epoch in StopReplicaRequest

2.6.0
1618KIP-569: DescribeConfigsResponse - Update the schema to include additional metadata information of the field2.6.0 (WIP)
1719KIP-568: Explicit rebalance triggering on the Consumer2.6.0
1820KIP-562: Allow fetching a key from a single partition rather than iterating over all the stores on an instance2.5.0 
1921KIP-559: Make the Kafka Protocol Friendlier with L7 Proxies2.5.0
2022KIP-558: Track the set of actively used topics by connectors in Kafka Connect2.5.0
2123KIP-557: Add emit on change support for Kafka StreamsImplemented for KTable source nodes in 2.6.0, full implementation planned for subsequent releases.
2224KIP-555: Deprecate direct Zookeeper access in Kafka administrative tools2.5.0
2325KIP-553: Disable all SSL protocols except TLSV1.2 by default.2.5.0
2426KIP-551: Expose disk read and write metrics2.6.0
2527KIP-546: Add Client Quota APIs to the Admin Clientinitial version in 2.6.0, full implementation in a later release
2628KIP-544: Make metrics exposed via JMX configurable2.5.0
2729KIP-543: Expand ConfigCommand's non-ZK functionality2.5.0
2830KIP-541: Create a fetch.max.bytes configuration for the broker2.5.0
2931KIP-538: Add a metric tracking the number of open connections with a given SSL cipher type2.5.0
3032KIP-537: Increase default zookeeper session timeout2.5.0
3133KIP-535: Allow state stores to serve stale reads during rebalance2.5.0
3234KIP-534: Reorganize checkpoint system in log cleaner to per partition WIP
3335KIP-533: Add default api timeout to AdminClient2.5.0
3436

KIP-532: Broker Consumer Lag metrics in size and time

WIP
3537KIP-531: Drop support for Scala 2.11 in Kafka 2.5Initial version in 2.5.0, remainder in later release (WIP)
3638KIP-530: Consider renaming 'UsePreviousTimeOnInvalidTimeStamp' class to 'UsePartitionTimeOnInvalidTimeStamp'2.5.0
3739KIP-528: Deprecate PartitionGrouper configuration and interface2.4.0
3840KIP-527: Add VoidSerde to Serdes2.5.0
3941KIP-526: Reduce Producer Metadata Lookups for Large Number of Topics2.5.0
4042KIP-525 - Return topic metadata and configs in CreateTopics response2.4.0 
4143KIP-524: Allow users to choose config source when describing configs2.5.0
4244KIP-523: Add KStream#toTable to the Streams DSL2.5.0
4345KIP-521: Enable redirection of Connect's log4j messages to a file by default2.4.0
4446KIP-519: Make SSL context/engine configuration extensible2.6.0
4547KIP-518: Allow listing consumer groups per state2.6.0
4648KIP-517: Add consumer metrics to observe user poll behavior2.4.0
4749KIP-515: Enable ZK client to use the new TLS supported authentication2.5.0
4850KIP-514:Add a bounded flush() API to Kafka Producer2.5.0
4951KIP-511: Collect and Expose Client's Name and Version in the Brokers2.4.0 (protocol) / 2.5.0 (metric)
5052KIP-507: Securing Internal Connect REST Endpoints2.4.0
5153KIP-504 - Add new Java Authorizer Interface2.4.0 
5254KIP-503: Add metric for number of topics marked for deletion2.4.0 
5355KIP-501: Avoid out-of-sync or offline partitions when follower fetch requests not processed in timeWIP
5456KIP-500: Replace ZooKeeper with a Self-Managed Metadata Quorum
5557KIP-497: Add inter-broker API to alter ISR2.67.0 (WIP)
5658KIP-496: Administrative API to delete consumer offsets2.4.0 
5759KIP-495: Dynamically Adjust Log Levels in Connect2.4.0
5860KIP-492: Add java security providers in Kafka Security config2.4.0 
5961KIP-488: Clean up Sum,Count,Total Metrics2.4.0
6062KIP-484: Expose metrics for group and transaction metadata loading duration2.4.0 
6163KIP-482: The Kafka Protocol should Support Optional Tagged Fields2.4.0 
6264KIP-481: SerDe Improvements for Connect Decimal type in JSON2.4.0
6365KIP-480: Sticky Partitioner2.4.0
6466KIP-479: Add StreamJoined config object to Join2.4.0
6567KIP-478 - Strongly typed Processor APIWIP
6668KIP-476: Add Java AdminClient Interface2.4.0
6769KIP-475: New Metrics to Measure Number of Tasks on a Connector2.4.0
6870KIP-474: To deprecate WindowStore#put(key, value)2.4.0
6971KIP-471: Expose RocksDB Metrics in Kafka Streams

2.4.0 (partially implemented; completion blocked)

7072KIP-470: TopologyTestDriver test input and output usability improvements2.4.0 
7173KIP-467: Augment ProduceResponse error messaging for specific culprit records2.4.0 (partially implemented) / 2.5.0
7274KIP-466: Add support for List<T> serialization and deserialization2.7.0 (WIP)
7375KIP-465: Add Consolidated Connector Endpoint to Connect REST API2.3.0
7476KIP-464: Defaults for AdminClient#createTopic2.4.0
7577KIP-462: Use local thread id for KStreams2.3.0
7678KIP-461: Improve Replica Fetcher behavior at handling partition failure2.3.0
7779KIP-460: Admin Leader Election RPC2.4.0
7880KIP-458: Connector Client Config Override Policy2.3.0
7981KIP-455: Create an Administrative API for Replica Reassignment2.4.0 (API/broker logic)
2.5.0 (tools changes)
8082KIP-454: Expansion of the ConnectClusterState interface2.3.0
8183KIP-453: Add close() method to RocksDBConfigSetter2.3.0
8284KIP-449: Add connector contexts to log messages in Connect workers 2.3.0
8385KIP-447: Producer scalability for exactly once semantics2.5.0  (broker, consumer, producer changes implemented) / 2.6.0
8486KIP-446: Add changelog topic configuration to KTable suppress2.6.0
8587KIP-445: In-memory Session Store2.3.0
8688KIP-444: Augment metrics for Kafka Streams2.4.0 (partially implemented) / 2.5.0 (partially implemented) / 2.6.0
8789

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

2.3.0
8890KIP-442: Return to default max poll interval in Streams2.3.0
8991KIP-441: Smooth Scaling Out for Kafka Streams2.6.0
9092KIP-440: Extend Connect Converter to support headers2.4.0
9193KIP-437: Custom replacement for MaskField SMT2.6.0
9294KIP-436: Add a metric indicating start time2.3.0
9395KIP-434: Add Replica Fetcher and Log Cleaner Count Metrics2.4.0
9496KIP-430 - Return Authorized Operations in Describe Responses2.3.0
9597KIP-429: Kafka Consumer Incremental Rebalance Protocol2.4.0
9698KIP-428: Add in-memory window store2.3.0
9799KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)2.3.0
98100KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers2.3.0
99101KIP-421: Support resolving externalized secrets in AbstractConfig2.3.0
100102KIP-420: Add Single Value Fetch in Session Stores2.2.0
101103KIP-417: Allow JmxTool to connect to a secured RMI port2.3.0
102104KIP-415: Incremental Cooperative Rebalancing in Kafka Connect2.3.0
103105KIP-414: Expose Embedded ClientIds in Kafka Streams2.2.0
104106KIP-412: Extend Admin API to support dynamic application log levels2.4.0 
105107

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

2.3.0
106108KIP-402: Improve fairness in SocketServer processors2.2.0 (partially implemented) / 2.3.0
107109KIP-401: TransformerSupplier/ProcessorSupplier StateStore connecting2.6.0
108110KIP-399: Extend ProductionExceptionHandler to cover serialization exceptions2.5.0
109111KIP-396: Add Commit/List Offsets Operations to AdminClient2.5.0
110112KIP-394: Require member.id for initial join group request2.2.0
111113KIP-393: Time windowed serde to properly deserialize changelog input topic2.2.0
112114KIP-392: Allow consumers to fetch from closest replica2.4.0
113115KIP-389: Introduce a configurable consumer group size limit2.2.0
114116KIP-386: Standardize on Min/Avg/Max metrics' default value2.2.0
115117KIP-382: MirrorMaker 2.02.4.0
116118

KIP-379: Multiple Consumer Group Management

2.4.0 
117119KIP-380: Detect outdated control requests and bounced brokers using broker generation2.2.0
118120KIP-377: TopicCommand to use AdminClient2.2.0
119121KIP-376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement2.2.0
120122KIP-374: Add '--help' option to all available Kafka CLI commands2.2.0
121123KIP-372: Naming Repartition Topics for Joins and Grouping2.1.0
122124KIP-371: Add a configuration to build custom SSL principal name2.2.0
123125KIP-369: Alternative Partitioner to Support "Always Round-Robin" Selection2.4.0
124126KIP 368: Allow SASL Connections to Periodically Re-Authenticate2.2.0
125127KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)2.2.0
126128KIP-366: Make FunctionConversions deprecated2.1.0
127129KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde2.1.0
128130KIP-361: Add Consumer Configuration to Disable Auto Topic Creation2.3.0
129131KIP-360: Improve reliability of idempotent/transactional producer2.4.0 (partially implemented) / 2.5.0
130132KIP-359: Verify leader epoch in produce requests2.67.0 (WIP)
131133KIP-358: Migrate Streams API to Duration instead of long ms times2.1.0
132134KIP-357: Add support to list ACLs per principal2.1.0
133135KIP-356: Add withCachingDisabled() to StoreBuilder2.1.0
134136KIP-354: Add a Maximum Log Compaction Lag2.3.0
135137KIP-353: Improve Kafka Streams Timestamp Synchronization2.1.0
136138KIP-352: Distinguish URPs caused by reassignment2.5.0 
137139KIP-351: Add --under-min-isr option to describe topics command2.3.0
138140KIP-346: Improve LogCleaner behavior on error2.1.0
139141KIP-345: Introduce static membership protocol to reduce consumer rebalances2.4.0
140142KIP-342 Add support for custom SASL extensions in OAuthBearer authentication2.1.0
141143KIP-341: Update Sticky Assignor's User Data Protocol2.3.0
142144KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file2.1.0
143145KIP-339: Create a new IncrementalAlterConfigs API2.3.0 
144146KIP-338 Support to exclude the internal topics in kafka-topics.sh command2.1.0
145147KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer2.1.0
146148KIP-332: Update AclCommand to use AdminClient API2.1.0
147149KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde2.3.0
148150KIP-330: Add retentionPeriod in SessionBytesStoreSupplier2.1.0
149151KIP-328: Ability to suppress updates for KTables2.1.0 (partially implemented; inactive)
150152KIP-324: Add method to get metrics() in AdminClient2.1.0
151153KIP-322: Return new error code for DeleteTopics API when topic deletion disabled.2.1.0
152154KIP-321: Update TopologyDescription to better represent Source and Sink Nodes2.1.0
153155KIP-320: Allow fetchers to detect and handle log truncation2.1.0 (partially implemented) / 2.2.0
154156KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier2.1.0
155157KIP-313: Add KStream.flatTransform and KStream.flatTransformValues 

2.2.0 (partially implemented)

/ 2.3.0

156158KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties2.1.0
157159KIP-309: Add toUpperCase support to sasl.kerberos.principal.to.local rule2.4.0
158160KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides2.1.0
159161KIP-307: Allow to define custom processor names with KStreams DSL2.3.0 (partially implemented) / 2.4.0
160162KIP-306: Configuration for Delaying Response to Failed Authentication2.1.0
161163KIP-305: Add Connect primitive number converters2.0.0
162164KIP-303: Add Dynamic Routing in Streams Sink2.0.0
163165KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses2.1.0
164166KIP-300: Add Windowed KTable API in StreamsBuilder3.0.0 (not implemented; inactive)
165167KIP-298: Error Handling in Connect2.0.0
166168KIP-297: Externalizing Secrets for Connect Configurations2.0.0
167169KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization2.0.0
168170KIP-294 - Enable TLS hostname verification by default2.0.0
169171

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

Accepted
170172KIP-292: Add transformValues() method to KTable2.0.0
171173KIP-290: Support for Prefixed ACLs2.0.0
172174KIP-289: Improve the default group id behavior in KafkaConsumer2.2.0
173175KIP-285: Connect Rest Extension Plugin2.0.0
174176KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE2.0.0
175177KIP-283: Efficient Memory Usage for Down-Conversion2.0.0
176178KIP-282: Add the listener name to the authentication context2.0.0
177179KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User2.0.0
178180KIP-280: Enhanced log compaction2.67.0 (WIP)
179181KIP-279: Fix log divergence between leader and follower after fast leader fail over2.0.0
180182KIP-278 - Add version option to Kafka's commands2.0.0
181183KIP-277 - Fine Grained ACL for CreateTopics API2.0.0
182184KIP-276 - Add StreamsConfig prefix for different consumers2.0.0
183185KIP-274: Kafka Streams Skipped Records Metrics2.0.0
184186KIP-272: Add API version tag to broker's RequestsPerSec metric2.0.0
185187KIP-270 - A Scala Wrapper Library for Kafka Streams2.0.0
186188KIP-268: Simplify Kafka Streams Rebalance Metadata Upgrade2.0.0
187189KIP-267: Add Processor Unit Test Support to Kafka Streams Test Utils2.0.0
188190KIP-266: Fix consumer indefinite blocking behavior2.0.0
189191KIP-265: Make Windowed Serde to public APIs2.0.0
190192KIP-261: Add Single Value Fetch in Window Stores2.0.0
191193KIP-258: Allow to Store Record Timestamps in RocksDB2.3.0 (partially implemented; inactive)
192194KIP-257 - Configurable Quota Management2.0.0
193195KIP-255: OAuth Authentication via SASL/OAUTHBEARER2.0.0
194196KIP-251: Allow timestamp manipulation in Processor API2.0.0
195197KIP-249: Add Delegation Token Operations to KafkaAdminClient2.0.0
196198KIP-247: Add public test utils for Kafka Streams1.1.0
197199KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor2.0.0
198200KIP-244: Add Record Header support to Kafka Streams Processor API2.0.0
199201KIP-243: Make ProducerConfig and ConsumerConfig constructors public1.1.0
200202KIP-239 Add queryableStoreName() to GlobalKTable1.1.0
201203KIP-238: Expose Kafka cluster ID in Connect REST API1.1.0
202204KIP-237: More Controller Health Metrics2.0.0
203205KIP-235: Add DNS alias support for secured connection2.1.0
204206KIP-233: Simplify StreamsBuilder#addGlobalStore1.1.0
205207KIP-231: Improve the Required ACL of ListGroups API2.1.0
206208KIP-229: DeleteGroups API1.1.0
207209KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability1.1.0
208210KIP-226 - Dynamic Broker Configuration1.1.0
209211KIP-225 - Use tags for consumer “records.lag” metrics1.1.0
210212KIP-224: Add configuration parameter `retries` to Streams API1.1.0
211213KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer2.0.0
212214KIP-222 - Add Consumer Group operations to Admin API2.0.0
213215KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint2.6.0
214216KIP-220: Add AdminClient into Kafka Streams' ClientSupplier1.1.0
215217KIP-219 - Improve quota communication2.0.0
216218KIP-218: Make KafkaFuture.Function java 8 lambda compatible1.1.0
217219KIP-216: IQ should throw different exceptions for different errors2.5.0
218220KIP-215: Add topic regex support for Connect sinks1.1.0
219221KIP-214: Add zookeeper.max.in.flight.requests config to the broker1.1.0
220222KIP-213 Support non-key joining in KTable2.4.0
221223KIP-212: Enforce set of legal characters for connector names1.1.0
222224KIP-211: Revise Expiration Semantics of Consumer Group Offsets2.1.0
223225KIP-210 - Provide for custom error handling when Kafka Streams fails to produce1.1.0
224226KIP-208: Add SSL support to Kafka Connect REST interface1.1.0
225227KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change2.2.0
226228KIP-206: Add support for UUID serialization and deserialization2.1.0
227229KIP-205: Add all() and range() API to ReadOnlyWindowStore1.1.0
228230KIP-204 : Adding records deletion operation to the new Admin Client API1.1.0
229231KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule 1.1.0
230232KIP-202: Move merge() from StreamsBuilder to KStream1.0.0
231233KIP-198: Remove ZK dependency from Streams Reset Tool1.0.0
232234KIP-197 Connect REST API should include the connector type when describing a connector1.0.0
233235KIP-196: Add metrics to Kafka Connect framework1.0.0
234236KIP-195: AdminClient.createPartitions1.0.0
235237KIP-192 : Provide cleaner semantics when idempotence is enabled1.0.0
236238KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern1.0.0
237239KIP-190: Handle client-ids consistently between clients and brokers1.0.0
238240KIP-189: Improve principal builder interface and add support for SASL1.0.0
239241KIP-188 - Add new metrics to support health checks1.0.0
240242KIP-187 - Add cumulative count metric for all Kafka rate metrics1.0.0
241243KIP-186: Increase offsets retention default to 7 days2.0.0
242244KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient2.2.0
243245KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines1.0.0
244246KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress1.1.0
245247KIP-177: Consumer perf tool should count rebalance time1.0.0
246248KIP-176: Remove deprecated new-consumer option for tools2.0.0
247249KIP-175: Additional '--describe' views for ConsumerGroupCommand1.1.0
248250KIP-174 - Deprecate and remove internal converter configs in WorkerConfig2.0.0
249251KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs1.0.0
250252KIP-171 - Extend Consumer Group Reset Offset for Stream Application1.1.0
251253KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster1.0.0
252254KIP-167: Add interface for the state store restoration process1.0.0
253255

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

1.0.0
254256

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

1.0.0
255257KIP-162: Enable topic deletion by default1.0.0
256258KIP-161: streams deserialization exception handlers1.0.0
257259KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string1.0.0
258260KIP-158: Kafka Connect should allow source connectors to set topic-specific settings for new topics2.6.0 (WIP)
259261KIP-157 - Add consumer config options to streams reset tool1.0.0
260262KIP-156 Add option "dry run" to Streams application reset tool0.11.0.0
261263KIP-155 - Add range scan for windowed state stores0.11.0.0
262264KIP-154 Add Kafka Connect configuration properties for creating internal topics0.11.0.0
263265KIP-153: Include only client traffic in BytesOutPerSec metric0.11.0.0
264266KIP-152 - Improve diagnostics for SASL authentication failures1.0.0
265267KIP-151 Expose Connector type in REST API0.11.0.0
266268KIP-150 - Kafka-Streams Cogroup2.5.0
267269KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner1.1.0 (partially implemented; inactive)
268270KIP-146 - Classloading Isolation in Connect

0.11.0.0

269271KIP-145 - Expose Record Headers in Kafka Connect1.1.0
270272KIP-144: Exponential backoff for broker reconnect attempts0.11.0.0
271273KIP-143: Controller Health Metrics0.11.0.0
272274KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs0.11.0.0
273275KIP-138: Change punctuate semantics1.0.0
274276KIP-137: Enhance TopicCommand --describe to show topics marked for deletion0.11.0.0
275277KIP-136: Add Listener name to SelectorMetrics tags0.11.0.0
276278KIP-134: Delay initial consumer group rebalance0.11.0.0
277279KIP-133: Describe and Alter Configs Admin APIs0.11.0.0
278280KIP-131 - Add access to OffsetStorageReader from SourceConnector2.6.0
279281KIP-130: Expose states of active tasks to KafkaStreams public API1.0.0
280282KIP-129: Streams Exactly-Once Semantics0.11.0.0
281283KIP-128: Add ByteArrayConverter for Kafka Connect0.11.0.0
282284KIP-126 - Allow KafkaProducer to split and resend oversized batches.0.11.0.0
283285KIP-124 - Request rate quotas0.11.0.0
284286KIP-123: Allow per stream/table timestamp extractor0.11.0.0
285287KIP-122: Add Reset Consumer Group Offsets tooling0.11.0.0
286288KIP-121: Add KStream peek method

0.11.0.0

287289KIP-120: Cleanup Kafka Streams builder API1.0.0
288290KIP-119: Drop Support for Scala 2.10 in Kafka 0.110.11.0.0
289291KIP-118: Drop Support for Java 72.0.0
290292KIP-117: Add a public AdminClient API for Kafka admin operations0.11.0.0
291293KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation0.11.0.0
292294KIP-114: KTable state stores and improved semantics0.11.0.0
293295KIP-113: Support replicas movement between log directories1.1.0
294296KIP-112: Handle disk failure for JBOD1.0.0
295297KIP-110: Add Codec for ZStandard Compression2.1.0
296298KIP-109: Old Consumer Deprecation0.11.0.0
297299KIP-108: Create Topic Policy0.10.2.0
298300KIP-107: Add deleteRecordsBefore() API in AdminClient0.11.0.0
299301

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

0.11.0.0
300302KIP-105: Addition of Record Level for Sensors0.10.2.0
301303KIP-104: Granular Sensors for Streams 0.10.2.0
302304KIP-103: Separation of Internal and External traffic0.10.2.0
303305KIP-102 - Add close with timeout for consumers0.10.2.0
304306KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation0.11.0.0
305307KIP-100 - Relax Type constraints in Kafka Streams API0.10.2.0
306308KIP-99: Add Global Tables to Kafka Streams0.10.2.0
307309KIP-98 - Exactly Once Delivery and Transactional Messaging0.11.0.0
308310KIP-97: Improved Kafka Client RPC Compatibility Policy0.10.2.0
309311KIP-96 - Add per partition metrics for in-sync and assigned replica count0.10.2.0
310312KIP-94 Session Windows0.10.2.0
311313KIP-93: Improve invalid timestamp handling in Kafka Streams0.10.2.0
312314KIP-92 - Add per partition lag metrics to KafkaConsumer0.10.2.0
313315KIP-91 Provide Intuitive User Timeouts in The Producer2.1.0
314316KIP-90 - Remove zkClient dependency from Streams0.10.2.0
315317KIP-89: Allow sink connectors to decouple flush and offset commit0.10.2.0
316318KIP-88: OffsetFetch Protocol Update0.10.2.0
317319KIP-86: Configurable SASL callback handlers2.0.0
318320KIP-85: Dynamic JAAS configuration for Kafka clients0.10.2.0
319321KIP-84: Support SASL SCRAM mechanisms0.10.2.0
320322KIP-82 - Add Record Headers0.11.0.0
321323KIP-81: Bound Fetch memory usage in the consumer2.67.0 (WIP)
322324KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer0.10.1.0
323325KIP-78: Cluster Id0.10.1.0
324326KIP-77: Improve Kafka Streams Join Semantics0.10.2.0
325327KIP-75 - Add per-connector Converters0.10.1.0
326328KIP-74: Add Fetch Response Size Limit in Bytes0.10.1.0
327329KIP-73: Replication Quotas0.10.1.0
328330KIP-72: Allow putting a bound on memory consumed by Incoming request 1.0.0
329331KIP-71: Enable log compaction and deletion to co-exist0.10.1.0
330332KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change0.10.1.0
331333KIP-67: Queryable state for Kafka Streams0.10.1.0
332334KIP-66: Single Message Transforms for Kafka Connect0.10.2.0 / 0.11.0.0
333335KIP-65: Expose timestamps to Connect0.10.1.0
334336KIP-63: Unify store and downstream caching in streams0.10.1.0
335337KIP-62: Allow consumer to send heartbeats from a background thread0.10.1.0
336338KIP-60 - Make Java client classloading more flexible0.10.1.0
337339KIP-58 - Make Log Compaction Point Configurable0.10.1.0
338340KIP-57 - Interoperable LZ4 Framing0.10.0.0
339341KIP-56: Allow cross origin HTTP requests on all HTTP methods0.10.0.0
340342KIP-55: Secure Quotas for Authenticated Users0.10.1.0
341343KIP-54: Sticky Partition Assignment Strategy0.11.0.0
342344KIP-52: Connector Control APIs0.10.0.0
343345KIP-51 - List Connectors REST API0.10.0.0
344346KIP-48 Delegation token support for Kafka1.1.0
345347KIP-45 - Standardize all client sequence interaction on j.u.Collection.0.10.0.0
346348KIP-43: Kafka SASL enhancements0.10.0.0
347349KIP-42: Add Producer and Consumer Interceptors0.10.0.0
348350KIP-41: Consumer Max Records0.10.0.0
349351KIP-40: ListGroups and DescribeGroup0.9.0.0
350352KIP-38: ZooKeeper Authentication0.9.0.0
351353KIP-36 - Rack aware replica assignment0.10.0.0
352354KIP-35 - Retrieving protocol version0.10.0.0
353355KIP-33 - Add a time based log index0.10.1.0
354356KIP-32 - Add timestamps to Kafka message0.10.0.0
355357KIP-31 - Move to relative offsets in compressed message sets0.10.0.0
356358KIP-28 - Add a processor client0.10.0.0
357359KIP-26 - Add Kafka Connect framework for data import/export0.9.0.0
358360KIP-25 - System test improvements0.9.0.0
359361KIP-22 - Expose a Partitioner interface in the new producer0.9.0.0
360362KIP-21 - Dynamic Configuration0.9.0.0 (WIP)
361363KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system0.9.0.0
362364KIP-19 - Add a request timeout to NetworkClient0.9.0.0
363365KIP-16 - Automated Replica Lag Tuning0.9.0.0
364366KIP-15 - Add a close method with a timeout in the producer0.9.0.0
365367KIP-13 - Quota Design0.9.0.0
366368KIP-12 - Kafka Sasl/Kerberos and SSL implementation0.9.0.0
367369KIP-11 - Kafka Authorizer design0.9.0.0
368370KIP-8 - Add a flush method to the producer API0.9.0.0
369371KIP-4 - Metadata Protocol Changes0.10.0.0
370372KIP-4 - Command line and centralized administrative operations0.9.0.0, 0.10.0.0, 0.10.1.0
371373KIP-3 - Mirror Maker Enhancement0.9.0.0
372374KIP-2 - Refactor brokers to allow listening on multiple ports and IPs0.9.0.0
373375KIP-1 - Remove support of request.required.acks0.9.0.0

...

KIPComment
KIP-59: Proposal for a kafka broker commandSent emails to Dev discussion group. Work tracked under KAFKA-3663.
KIP-125: ZookeeperConsumerConnector to KafkaConsumer Migration and Rollback
KIP-135 : Send of null key to a compacted topic should throw non-retriable error back to user
KIP 141 - ProducerRecord & SourceRecord: Add timestamp constructors
KIP-142: Add ListTopicsRequest to efficiently list all the topics in a cluster
KIP-148: Add a connect timeout for client
KIP-166 - Add a tool to make amounts of replicas and leaders on brokers balanced
KIP-169 - Lag-Aware Partition Assignment Strategy
KIP-178: Size-based log directory selection strategy


KIP-185: Make exactly once in order delivery the default producer setting


KIP-193: Add SchemaBuilder.from(Schema)
KIP-199: Add Kafka Connect offset tool
KIP-201: Rationalising Policy interfaces
KIP-209: Connection String Support
KIP-217: Expose a timeout to allow an expired ZK session to be re-created
KIP-228 Negative record timestamp supportVoting in progress
KIP-234: add support for getting topic defaults from AdminClient
KIP-236: Interruptible Partition Reassignment Discussion
KIP-240: AdminClient.listReassignments() AdminClient.describeReassignments()
KIP-242: Mask password in Kafka Connect Rest API response
KIP-250 Add Support for Quorum-based Producer Acknowledgment
KIP-252 - Extend ACLs to allow filtering based on ip ranges and subnets
KIP-253: Support in-order message delivery with partition expansion Discussion
KIP-254: JsonConverter Exception Handeling
KIP-264: Add a consumer metric to record raw fetch sizeVoting in progress
KIP-271: Add NetworkClient redirectorDiscussion
KIP-273: Kafka to support using ETCD beside ZookeeperDiscussion
KIP-275 - Indicate "isClosing" in the SinkTaskContextVoting in progress
KIP-293 Add new metrics for consumer/replication fetch requestsVoting in progress
KIP-296: Add connector level configurability for producer/consumer client configs Discussion
KIP-301: Schema Inferencing for JsonConverterDiscussion
KIP-304: Connect runtime mode improvements for container platformsDiscussion
KIP-315: Stream Join Sticky AssignorDiscussion
KIP-316: Command-line overrides for ConnectDistributed worker propertiesDiscussion
KIP-317: Add end-to-end data encryption functionality to Apache KafkaDiscussion
KIP-325: Extend Consumer Group Command to Show Beginning OffsetsVoting in Progress345
KIP-333: Add faster mode of rebalancingDiscussion
KIP-334 - Include partitions in exceptions raised during consumer record deserialization/validation
KIP-347: Enable batching in FindCoordinatorRequestDiscussion
KIP-348 Eliminate null from SourceTask#poll()
KIP-350: Allow kafka-topics.sh to take brokerid as parameter to show partitions associated with it
KIP-356: Add KafkaConsumer fetch-error-rate and fetch-error-total metricsDiscussion
KIP-363: Allow performance tools to print final results to output fileDiscussion
KIP-370: Remove Orphan PartitionsDiscussion
KIP-373: Allow users to create delegation tokens for other usersAccepted
KIP-375: Kafka Clients - make Metadata#TOPIC_EXPIRY_MS configurableDiscussion
KIP-381: Connect: Tell about records that had their offsets flushed in callback

Voting in progress (restarted 18th January 2019, due to no votes in first attempt)

KIP-384: Add config for incompatible changes to persistent metadataDiscussion
KIP-385: Avoid throwing away prefetched dataDiscussion
KIP-387: Fair Message Consumption Across Partitions in KafkaConsumer

Discussion

KIP-388: Add observer interface to record request and responseDiscussion
KIP-390: Allow fine-grained configuration for compressionDiscussion, JIRA exists with pull-request
KIP-395: Encypt-then-MAC Delegation token metadata
KIP-397: Add methods to override fetch offsets based on timestampDiscussion
KIP-400: Improve exit status in case of errors in ConsoleProducerDiscussion
KIP-403: Increase ProducerPerformance precision by using nanoTimeDraft
KIP-405: Kafka Tiered Storage

Discussion

KIP-407: Kafka Connect support override worker kafka api configuration with connector configuration that post by rest api

KIP-409: Allow creating under-replicated topics and partitions


KIP-410: Add metric for request handler thread pool utilization by request type

Discussion
KIP-416: Notify SourceTask of ACK'd offsets, metadataDiscussion
KIP-418: A method-chaining way to branch KStreamVoting in progress
KIP-419: Safely notify Kafka Connect SourceTask is stoppedVoting in progress, JIRA exists with pull request
KIP-423: Add JoinReason to Consumer Join Group Protocol

Discussion

KIP-424: Allow suppression of intermediate events based on wall clock timeDiscussion
KIP-426: Persist Broker Id to ZookeeperDiscussion
KIP-431: Support of printing additional ConsumerRecord fields in DefaultMessageFormatterVoting in progress, JIRA exists with pull-request
KIP-435: Internal Partition Reassignment BatchingDiscussion
KIP-438: Expose task, connector IDs in Connect APIDiscussion
KIP-439: Cleanup built-in Store interfacesDiscussion
KIP-448: Add State Stores Unit Test Support to Kafka Streams Test UtilsDiscussion
KIP-452: Tool to view cluster statusDiscussion, JIRA exists
KIP-468: Avoid decompression of record when validate record at server in the scene of inPlaceAssignment .Under discussion
KIP-473: Enable KafkaLog4JAppender to use SASL Authentication Callback HandlersUnder Discussion 
KIP-477: Add PATCH method for connector config in Connect REST APIUnder Discussion
KIP-487: Automatic Topic Creation on ProducerUnder Discussion
KIP-489: Kafka Consumer Record Latency MetricUnder Discussion
KIP-490: New metric to count offsets expired without being consumed by a consumer groupUnder discussion
KIP-491: Preferred Leader Deprioritized List (Temporary Blacklist)Under discussion
KIP-494: Connect REST Endpoint to get Transformations (SMTs)
KIP-498: Add client-side configuration for maximum response size to protect against OOMSent emails to Dev discussion group. Work tracked under KAFKA-4090.

KIP-499 - Unify connection name flag for command line tool

Under discussion
KIP-502: Connect SinkTask.put(...) to specify ArrayList<SinkRecord> in Signature
KIP-505: Add new public method to only update assignment metadata in consumerUnder discussion
KIP-506: Allow setting SCRAM password via Admin interfaceUnder discussion
KIP-509: Rebalance and restart ProducersUnder discussion
KIP-510: Metrics library upgradeUnder discussion
KIP-512: Adding headers to RecordMetaDataSent mail to dev discussion group
KIP-513: Distinguish between Key and Value serdes in scala wrapper library for kafka streamsSent mail to dev discussion group
KIP-516: Topic Identifiers & Topic Deletion State ImprovementsUnder discussion
KIP-536: Propagate broker start time to Admin APIUnder discussion
KIP-539: Add mechanism to flush records out in low volume suppression buffersUnder discussion.
KIP-540: Implement per key stream time trackingDraft (In Progress)
KIP-542: Partition Reassignment ThrottlingDraft
KIP-545: support automated consumer offset sync across clusters in MM 2.0Voting in progress
KIP-547: Extend ConsumerInterceptor to allow modification of Consumer CommitsUnder Discussion
KIP-548 Add Option to enforce rack-aware custom partition reassignment executionUnder Discussion
KIP-549: Surface Consumer's Metadata in KafkaAdminClient#describeConsumerGroupsUnder Discussion
KIP-550: Mechanism to Delete Stray Partitions on BrokerDraft
KIP-552: Suppress "unused config" warning

Under Discussion

KIP-554: Add Broker-side SCRAM Configuration APIUnder Discussion

KIP-560: Auto infer external topic partitions in stream reset tool

Under Discussion

KIP-561: Regex Support for ConsumerGroupCommand

Under Discussion
KIP-563: Add 'tail -n' feature for ConsoleConsumerUnder Discussion
KIP-564: Add new cached authorizer:change the dim of cacheUnder Discussion
KIP-565: Using AclCommand,avoid call the global method loadcache in SimpleAclAuthorizerUnder Discussion
KIP-566: Add rebalance callbacks to ConsumerInterceptorUnder Discussion
KIP-567: Kafka Cluster Audit

Under Discussion

KIP-572: Improve timeouts and retries in Kafka StreamsUnder Discussion
KIP-573: Enable TLSv1.3 by defaultUnder Discussion
KIP-575: build a Kafka-Exporter by JavaUnder Discussion
KIP-576: Support dynamic update of more broker configs related to replicationUnder Discussion
KIP-578: Add configuration to limit number of partitionsVoting
KIP-579: new exception on min.insync.replicas > replication.factorVoting in progress
KIP-581: Value of optional null field which has default valueUnder Discussion
KIP-582: Add a "continue" option for Kafka Connect error handlingUnder Discussion
KIP-583: add tag "partition" to BrokerTopicMetrics so as to observe the partition metrics on the same brokerUnder Discussion
KIP-587: Suppress detailed responses for handled exceptions in security-sensitive environmentsUnder Discussion
KIP-589 Add API to update Replica state in ControllerUnder Discussion
KIP-590: Redirect Zookeeper Mutation Protocols to The ControllerUnder Discussion
KIP-591: Add Kafka Streams config to set default store typeUnder Discussion
KIP-592: Replicate mirrormaker topics from earliestUnder Discussion
KIP-593: Enable --if-exists and --if-not-exists for AdminClient in TopicCommandUnder Discussion
KIP-595: A Raft Protocol for the Metadata QuorumUnder Discussion
KIP-596: Safely abort Producer transactions during application shutdownUnder Discussion
KIP-597: MirrorMaker2 internal topics FormattersUnder Discussion
KIP-598: Augment TopologyDescription with store and source / sink serde informationUnder Discussion
KIP-599: Throttle Create Topic, Create Partition and Delete Topic OperationsUnder Discussion
KIP-601: Configurable socket connection timeoutVoting in progress
KIP-602: Change default value for client.dns.lookupAccepted
KIP-607: Add Metrics to Kafka Streams to Record the Memory Used by RocksDBAccepted
KIP-608: Expose Kafka Metrics in AuthorizerVoting in progress, JIRA exists with pull-requestKIP-611: Improved Handling of Abandoned Connectors and TasksUnder DiscussionKIP-612: Ability to Limit Connection Creation Rate on BrokersUnder Discussion

KIP-616: Rename implicit Serdes instances in kafka-streams-scala

Under Discussion
KIP-617: Allow Kafka Streams State Stores to be iterated backwardsVoting in progress
KIP-618: Atomic commit of source connector records and offsetsUnder Discussion
KIP-619: Add internal topic creation supportUnder Discussion

...