...
To create your own KIP, click on
Create from template | ||||||||
---|---|---|---|---|---|---|---|---|
|
dev@kafka.apache.org
and request permission (http://kafka.apache.org/contact). Also add an entry to the table KIPs under discussion (for Streams API KIPs, please also add it to Kafka Streams sub page).Table of Contents |
---|
Purpose
We want to make Kafka a core architectural component for users. We also support a large number of integrations with other tools, systems, and clients. Keeping this kind of usage health requires a high level of compatibility between releases — core architectural elements can't break compatibility or shift functionality from release to release. As a result each new major feature or public api has to be done in a way that we can stick with it going forward.
...
KIP round-up
Next KIP Number: 493513
Use this number as the identifier for your KIP and increment this value.
...
Please insert new rows in sorted order (descending by KIP number).
KIP (please keep this sorted by KIP number) | Release | |||||
---|---|---|---|---|---|---|
1 | KIP-465: Add Consolidated Connector Endpoint to Connect REST API488: Clean up Sum,Count,Total Metrics | 2.34.0 | ||||
2 | KIP-464484: Defaults for AdminClient#createTopicExpose metrics for group and transaction metadata loading duration | 2.4.0 (WIP) | ||||
3 | KIP- | 462: Use local thread id for KStreams480: Sticky Partitioner | 2. | 34.0 | ||
4 | KIP- | 461: Improve Replica Fetcher behavior at handling partition failure479: Add Materialized to Join | 2. | 34.0(WIP) | ||
5 | KIP- | 460: Admin Leader Election RPC476: Add Java AdminClient Interface | 2.4.0 | |||
6 | KIP- | 458: Connector Client Config Override Policy467: Augment ProduceResponse error messaging for specific culprit records | 2. | 34.0 (WIP) | ||
7 | KIP-454: Expansion of the ConnectClusterState interface465: Add Consolidated Connector Endpoint to Connect REST API | 2.3.0 | ||||
8 | KIP-453: Add close() method to RocksDBConfigSetter464: Defaults for AdminClient#createTopic | 2.34.0 | ||||
9 | KIP- | 449: Add connector contexts to log messages in Connect workers462: Use local thread id for KStreams | 2.3.0 | |||
10 | KIP-446: Add changelog topic configuration to KTable suppress461: Improve Replica Fetcher behavior at handling partition failure | 2.43.0 (WIP) | ||||
11 | KIP- | 445: In-memory Session Store460: Admin Leader Election RPC | 2. | 34.0 | ||
12 | KIP- | 443: Return to default segment.ms and segment.index.bytes in Streams repartition topics458: Connector Client Config Override Policy | 2.3.0 | |||
13 | KIP-442: Return to default max poll interval in Streams455: Create an Administrative API for Replica Reassignment | 2.34.0 (WIP) | ||||
14 | KIP-436: Add a metric indicating start time454: Expansion of the ConnectClusterState interface | 2.3.0 | ||||
15 | KIP-430 - Return Authorized Operations in Describe Responses453: Add close() method to RocksDBConfigSetter | 2.3.0 | ||||
16 | KIP- | 429: Kafka Consumer Incremental Rebalance Protocol449: Add connector contexts to log messages in Connect workers | 2. | 43.0 | (WIP)||
17 | KIP- | 428446: Add | in-memory window storechangelog topic configuration to KTable suppress | 2. | 34.0 (WIP) | |
18 | KIP- | 427: Add AtMinIsr topic partition category (new metric & TopicCommand option)445: In-memory Session Store | 2.3.0 | |||
19 | 425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.3.0 | ||||
20 | KIP-421: Support resolving externalized secrets in AbstractConfig442: Return to default max poll interval in Streams | 2.3.0 | ||||
21 | KIP- | 420: Add Single Value Fetch in Session Stores440: Extend Connect Converter to support headers | 2. | 24.0 (WIP) | ||
22 | KIP- | 417: Allow JmxTool to connect to a secured RMI port436: Add a metric indicating start time | 2.3.0 | |||
23 | KIP | -415: Incremental Cooperative Rebalancing in Kafka Connect-430 - Return Authorized Operations in Describe Responses | 2.3.0 | |||
24 | KIP-414429: Expose Embedded ClientIds in Kafka Streams | 2.2.0 | 25 | KIP-412: Extend Admin API to support dynamic application log levelsKafka Consumer Incremental Rebalance Protocol | 2.4.0 (WIP) | |
2625 | KIP-411: Make default Kafka Connect worker task client IDs distinct428: Add in-memory window store | 2.3.0 | ||||
26 | KIP- | 402: Improve fairness in SocketServer processors427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2.3.0 | |||
27 | KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.0 (partially implemented) / 2.3.0 | ||||
28 | KIP-394: Require member.id for initial join group request421: Support resolving externalized secrets in AbstractConfig | 2.23.0 | ||||
29 | KIP- | 393: Time windowed serde to properly deserialize changelog input topic420: Add Single Value Fetch in Session Stores | 2.2.0 | |||
30 | KIP- | 386: Standardize on Min/Avg/Max metrics' default value417: Allow JmxTool to connect to a secured RMI port | 2. | 23.0 | ||
31 | KIP- | 382: MirrorMaker415: Incremental Cooperative Rebalancing in Kafka Connect | 2.3.0 | 2.4.0 (WIP) | ||
32 | 32 | KIP-380: Detect outdated control requests and bounced brokers using broker generation414: Expose Embedded ClientIds in Kafka Streams | 2.2.0 | |||
33 | KIP- | 377412: | TopicCommand to use AdminClientExtend Admin API to support dynamic application log levels | 2. | 24.0 (WIP) | |
34 | 376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2. | 23.0 | |||
35 | KIP-374: Add '--help' option to all available Kafka CLI commands402: Improve fairness in SocketServer processors | 2.2.0 (partially implemented) / 2.3.0 | ||||
36 | KIP-372: Naming Repartition Topics for Joins and Grouping396: Add Commit/List Offsets Operations to AdminClient | 2.14.0 (WIP) | ||||
37 | KIP- | 371: Add a configuration to build custom SSL principal name394: Require member.id for initial join group request | 2.2.0 | |||
38 | KIP | 368: Allow SASL Connections to Periodically Re-Authenticate-393: Time windowed serde to properly deserialize changelog input topic | 2.2.0 | |||
39 | KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)386: Standardize on Min/Avg/Max metrics' default value | 2.2.0 | ||||
40 | KIP- | 366: Make FunctionConversions deprecated382: MirrorMaker 2.0 | 2. | 14.0 (WIP) | ||
41 | KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde380: Detect outdated control requests and bounced brokers using broker generation | 2.12.0 | ||||
42 | KIPKIP-361377: Add Consumer Configuration to Disable Auto Topic CreationTopicCommand to use AdminClient | 2.32.0 | ||||
43 | KIP-359: Verify leader epoch in produce requests376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.42.0 (WIP) | ||||
44 | KIP-358: Migrate Streams API to Duration instead of long ms times374: Add '--help' option to all available Kafka CLI commands | 2.12.0 | ||||
45 | KIP- | 357: Add support to list ACLs per principal372: Naming Repartition Topics for Joins and Grouping | 2.1.0 | |||
46 | KIP- | 356371: Add | withCachingDisabled() to StoreBuildera configuration to build custom SSL principal name | 2. | 12.0 | |
47 | KIP | -354: Add a Maximum Log Compaction Lag368: Allow SASL Connections to Periodically Re-Authenticate | 2. | 32.0 | ||
48 | KIP-353: Improve Kafka Streams Timestamp Synchronization367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.12.0 | ||||
49 | KIP- | 351: Add --under-min-isr option to describe topics command366: Make FunctionConversions deprecated | 2. | 31.0 | ||
50 | KIP-346: Improve LogCleaner behavior on error365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2.1.0 | ||||
51 | KIPKIP-345: Introduce static membership protocol to reduce consumer rebalances361: Add Consumer Configuration to Disable Auto Topic Creation | 2.2.4.0 (WIP), partially available in 2.3.0 | ||||
52 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication359: Verify leader epoch in produce requests | 2.14.0 (WIP) | ||||
53 | KIP-341: Update Sticky Assignor's User Data Protocol358: Migrate Streams API to Duration instead of long ms times | 2.31.0 | ||||
54 | KIP- | 340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file357: Add support to list ACLs per principal | 2.1.0 | |||
55 | KIP-339: Create a new IncrementalAlterConfigs API356: Add withCachingDisabled() to StoreBuilder | 2.31.0 0 | ||||
56 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command354: Add a Maximum Log Compaction Lag | 2.13.0 | ||||
57 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer353: Improve Kafka Streams Timestamp Synchronization | 2.1.0 | ||||
58 | KIP- | 332: Update AclCommand to use AdminClient API2.1.0 | 59 | KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde351: Add --under-min-isr option to describe topics command | 2.3.0 | |
59 | KIP-330: Add retentionPeriod in SessionBytesStoreSupplier346: Improve LogCleaner behavior on error | 2.1.0 | 61||||
60 | KIP-328: Ability to suppress updates for KTables345: Introduce static membership protocol to reduce consumer rebalances | 2.14.0 (partially implemented) / WIP), partially available in 2.3.0 (WIP) | ||||
6261 | KIP-324: Add method to get metrics() in AdminClient342 Add support for custom SASL extensions in OAuthBearer authentication | 2.1.0 | ||||
6362 | KIP- | 322: Return new error code for DeleteTopics API when topic deletion disabled.341: Update Sticky Assignor's User Data Protocol | 2. | 13.0 | ||
63 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.1.0 | ||||
6564 | KIP-320: Allow fetchers to detect and handle log truncation339: Create a new IncrementalAlterConfigs API | 2.1.0 (partially implemented) / 2.2.03.0 | ||||
65 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command | 66 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.1.0 | ||
6766 | KIP-313: Add KStream.flatTransform and KStream.flatTransformValues 336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2.2.0 (partially implemented)/ 2.31.0 | ||||
67 | KIP-332: Update AclCommand to use AdminClient API | 2.1.0 | ||||
68 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.13.0 | ||||
69 | KIP- | 308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides330: Add retentionPeriod in SessionBytesStoreSupplier | 2.1.0 | |||
70 | KIP-307328: Allow to define custom processor names with KStreams DSLAbility to suppress updates for KTables | 2.31.0 (partial)partially implemented) / 2.3.0 (WIP) | ||||
7171 | KIP-306: Configuration for Delaying Response to Failed Authentication324: Add method to get metrics() in AdminClient | 2.1.0 | ||||
72 | KIP-305: Add Connect primitive number converters322: Return new error code for DeleteTopics API when topic deletion disabled. | 2.01.0 | ||||
73 | KIP-303: Add Dynamic Routing in Streams Sink321: Update TopologyDescription to better represent Source and Sink Nodes | 2.01.0 | ||||
74 | KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2.0 | ||||
75 | KIP-300: Add Windowed KTable API in StreamsBuilder319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.41.0 | ||||
76 | KIP-298: Error Handling in Connect313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3 2.0.0 | ||||
77 | KIP-297: Externalizing Secrets for Connect Configurations312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.01.0 | ||||
78 | KIP- | 295 Add Streams Configuration Allowing for Optional Topology Optimization308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2. | 01.0 | ||
79 | KIP-294 - Enable TLS hostname verification by default307: Allow to define custom processor names with KStreams DSL | 2.03.0 (partial) | ||||
80 | KIP-292: Add transformValues() method to KTable306: Configuration for Delaying Response to Failed Authentication | 2.01.0 | ||||
81 | KIP- | 290: Support for Prefixed ACLs305: Add Connect primitive number converters | 2.0.0 | |||
82 | KIP-289: Improve the default group id behavior in KafkaConsumer303: Add Dynamic Routing in Streams Sink | 2.20.0 | ||||
83 | KIP- | 285: Connect Rest Extension Plugin302 - Enable Kafka clients to use all DNS resolved IP addresses | 2. | 01.0 | ||
84 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE300: Add Windowed KTable API in StreamsBuilder | 2.04.0 | ||||
85 | KIP-283: Efficient Memory Usage for Down-Conversion298: Error Handling in Connect | 2.0.0 | ||||
86 | KIP-282: Add the listener name to the authentication context297: Externalizing Secrets for Connect Configurations | 2.0.0 | ||||
87 | KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0.0 | ||||
88 | KIP- | 279: Fix log divergence between leader and follower after fast leader fail over294 - Enable TLS hostname verification by default | 2.0.0 | |||
89 | KIP-278 - Add version option to Kafka's commands292: Add transformValues() method to KTable | 2.0.0 | ||||
90 | KIP-277 - Fine Grained ACL for CreateTopics API290: Support for Prefixed ACLs | 2.0.0 | ||||
91 | KIP- | 276 - Add StreamsConfig prefix for different consumers289: Improve the default group id behavior in KafkaConsumer | 2. | 02.0 | ||
92 | KIP-274: Kafka Streams Skipped Records Metrics285: Connect Rest Extension Plugin | 2.0.0 | ||||
93 | KIP-272: Add API version tag to broker's RequestsPerSec metric284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2.0.0 | ||||
94 | KIP-270 - A Scala Wrapper Library for Kafka Streams283: Efficient Memory Usage for Down-Conversion | 2.0.0 | ||||
95 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade282: Add the listener name to the authentication context | 2.0.0 | |||
96 | KIP- | 267: Add Processor Unit Test Support to Kafka Streams Test Utils281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2.0.0 | |||
97 | KIP- | 266279: Fix | consumer indefinite blocking behaviorlog divergence between leader and follower after fast leader fail over | 2.0.0 | ||
98 | KIP- | 265: Make Windowed Serde to public APIs278 - Add version option to Kafka's commands | 2.0.0 | |||
99 | KIP | -261: Add Single Value Fetch in Window Stores-277 - Fine Grained ACL for CreateTopics API | 2.0.0 | |||
100 | KIP | -258: Allow to Store Record Timestamps in RocksDB-276 - Add StreamsConfig prefix for different consumers | 2. | 30.0 | (partially implemented)||
101 | KIP-257 - Configurable Quota Management274: Kafka Streams Skipped Records Metrics | 2.0.0 | ||||
102 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER272: Add API version tag to broker's RequestsPerSec metric | 2.0.0 | ||||
103 | KIP- | 251: Allow timestamp manipulation in Processor API270 - A Scala Wrapper Library for Kafka Streams | 2.0.0 | |||
104 | KIP-249: Add Delegation Token Operations to KafkaAdminClient268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2.0.0 | ||||
105 | KIP-247267: Add public test utils for Processor Unit Test Support to Kafka Streams Test Utils | 12.10.0 | ||||
106 | KIP- | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor266: Fix consumer indefinite blocking behavior | 2.0.0 | |||
107 | KIP- | 244: Add Record Header support to Kafka Streams Processor API265: Make Windowed Serde to public APIs | 2.0.0 | |||
108 | KIP-243: Make ProducerConfig and ConsumerConfig constructors public261: Add Single Value Fetch in Window Stores | 2.01.1.0 | ||||
109 | KIP- | 239 Add queryableStoreName() to GlobalKTable258: Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | 1.1.0|||
110 | KIP-238: Expose Kafka cluster ID in Connect REST API257 - Configurable Quota Management | 2.01.1.0 | ||||
111 | KIP- | 237: More Controller Health Metrics255: OAuth Authentication via SASL/OAUTHBEARER | 2.0.0 | |||
112 | KIP- | 235: Add DNS alias support for secured connection251: Allow timestamp manipulation in Processor API | 2. | 10.0 | ||
113 | KIP-233: Simplify StreamsBuilder#addGlobalStore249: Add Delegation Token Operations to KafkaAdminClient | 2.01.1.0 | ||||
114 | KIP- | 231: Improve the Required ACL of ListGroups API247: Add public test utils for Kafka Streams | 1 | 2.1.0 | ||
115 | KIP-229: DeleteGroups API245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.01.1.0 | ||||
116 | KIP- | 227 - Introduce Incremental FetchRequests to Increase Partition Scalability244: Add Record Header support to Kafka Streams Processor API | 2.0 | 1.1.0 | ||
117 | KIP-226 - Dynamic Broker Configuration243: Make ProducerConfig and ConsumerConfig constructors public | 1.1.0 | ||||
118 | KIP-225 - Use tags for consumer “records.lag” metrics239 Add queryableStoreName() to GlobalKTable | 1.1.0 | ||||
119 | KIP-224: Add configuration parameter `retries` to Streams 238: Expose Kafka cluster ID in Connect REST API | 1.1.0 | ||||
120 | KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer237: More Controller Health Metrics | 2.0.0 | ||||
121 | KIP- | 222 - Add Consumer Group operations to Admin API235: Add DNS alias support for secured connection | 2. | 01.0 | ||
122 | KIP-220: Add AdminClient into Kafka Streams' ClientSupplier233: Simplify StreamsBuilder#addGlobalStore | 1.1.0 | ||||
123 | KIP- | 219 - Improve quota communication231: Improve the Required ACL of ListGroups API | 2. | 01.0 | ||
124 | KIP-218: Make KafkaFuture.Function java 8 lambda compatible229: DeleteGroups API | 1.1.0 | ||||
125 | KIP-215: Add topic regex support for Connect sinks-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.1.0 | ||||
126 | KIP-214: Add zookeeper.max.in.flight.requests config to the broker226 - Dynamic Broker Configuration | 1.1.0 | ||||
127 | KIP- | 213 Support non-key joining in KTable225 - Use tags for consumer “records.lag” metrics | 1.1.0 | 2.4.0 (WIP)|||
128 | KIP-212: Enforce set of legal characters for connector names224: Add configuration parameter `retries` to Streams API | 1.1.0 | ||||
129 | KIP-211: Revise Expiration Semantics of Consumer Group Offsets223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 2.10.0 | ||||
130 | KIP-210 - Provide for custom error handling when Kafka Streams fails to produce222 - Add Consumer Group operations to Admin API | 2.01.1.0 | ||||
131 | KIP-208: Add SSL support to Kafka Connect REST interface221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)1.1.0 | ||||
132 | KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change220: Add AdminClient into Kafka Streams' ClientSupplier | 1.12.2.0 | ||||
133 | KIP- | 206: Add support for UUID serialization and deserialization219 - Improve quota communication | 2. | 10.0 | ||
134 | KIP-205: Add all() and range() API to ReadOnlyWindowStore218: Make KafkaFuture.Function java 8 lambda compatible | 1.1.0 | ||||
135 | KIP-204 : Adding records deletion operation to the new Admin Client API215: Add topic regex support for Connect sinks | 1.1.0 | ||||
136 | KIP-203214: Add toLowerCase support to sasl.kerberos.principal.to.local rule zookeeper.max.in.flight.requests config to the broker | 1.1.0 | ||||
137 | KIP | -202: Move merge() from StreamsBuilder to KStream-213 Support non-key joining in KTable | 2.4.0 (WIP) | 1.0.0|||
138 | KIP-198: Remove ZK dependency from Streams Reset Tool212: Enforce set of legal characters for connector names | 1.01.0 | ||||
139 | KIP-197 Connect REST API should include the connector type when describing a connector211: Revise Expiration Semantics of Consumer Group Offsets | 2.11.0.0 | ||||
140 | KIP-196: Add metrics to Kafka Connect framework-210 - Provide for custom error handling when Kafka Streams fails to produce | 1.01.0 | ||||
141 | KIP-195: AdminClient.createPartitions208: Add SSL support to Kafka Connect REST interface | 1.01.0 | ||||
142 | KIP-192 : Provide cleaner semantics when idempotence is enabled207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.21.0.0 | ||||
143 | KIP- | 191: KafkaConsumer.subscribe() overload that takes just Pattern206: Add support for UUID serialization and deserialization | 2. | 1.0 | ||
144 | KIP-190: Handle client-ids consistently between clients and brokers205: Add all() and range() API to ReadOnlyWindowStore | 1.01.0 | ||||
145 | KIP-189: Improve principal builder interface and add support for SASL204 : Adding records deletion operation to the new Admin Client API | 1.01.0 | ||||
146 | KIP-188 - Add new metrics to support health checks203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.01.0 | ||||
147 | KIP-187 - Add cumulative count metric for all Kafka rate metrics202: Move merge() from StreamsBuilder to KStream | 1.0.0 | ||||
148 | KIP-186: Increase offsets retention default to 7 days198: Remove ZK dependency from Streams Reset Tool | 12.0.0 | ||||
149 | KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient197 Connect REST API should include the connector type when describing a connector | 1.02.2.0 | ||||
150 | KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines196: Add metrics to Kafka Connect framework | 1.0.0 | ||||
151 | KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress195: AdminClient.createPartitions | 1.10.0 | ||||
152 | KIP-177: Consumer perf tool should count rebalance time192 : Provide cleaner semantics when idempotence is enabled | 1.0.0 | ||||
153 | KIP- | 176: Remove deprecated new-consumer option for tools191: KafkaConsumer.subscribe() overload that takes just Pattern | 1 | 2.0.0 | ||
154 | KIP-175190: Additional '--describe' views for ConsumerGroupCommandHandle client-ids consistently between clients and brokers | 1.10.0 | ||||
155 | KIP-174 - Deprecate and remove internal converter configs in WorkerConfig189: Improve principal builder interface and add support for SASL | 12.0.0 | ||||
156 | KIP-188 - 173: Add prefix to StreamsConfig to enable setting default internal topic configsnew metrics to support health checks | 1.0.0 | ||||
157 | KIP-171 - Extend Consumer Group Reset Offset for Stream Application187 - Add cumulative count metric for all Kafka rate metrics | 1.10.0 | ||||
158 | KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster186: Increase offsets retention default to 7 days | 21.0.0 | ||||
159 | KIP-167: Add interface for the state store restoration process183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.21.0.0 | ||||
160 | KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.0.0 | ||||
161 | KIP- | 163: Lower the Minimum Required ACL Permission of OffsetFetch180: Add a broker metric specifying the number of consumer group rebalances in progress | 1. | 01.0 | ||
162 | KIP-162: Enable topic deletion by default177: Consumer perf tool should count rebalance time | 1.0.0 | ||||
163 | KIP- | 161: streams deserialization exception handlers176: Remove deprecated new-consumer option for tools | 2 | 1.0.0 | ||
164 | KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string175: Additional '--describe' views for ConsumerGroupCommand | 1.01.0 | ||||
165 | KIP- | 157 - Add consumer config options to streams reset tool174 - Deprecate and remove internal converter configs in WorkerConfig | 2 | 1.0.0 | ||
166 | KIP- | 156 Add option "dry run" to Streams application reset tool173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1. | 0.11.0.0 | ||
167 | KIP- | 155 - Add range scan for windowed state stores171 - Extend Consumer Group Reset Offset for Stream Application | 1.1 | 0.11.0.0 | ||
168 | KIP-154 Add Kafka Connect configuration properties for creating internal topics168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 10.11.0.0 | ||||
169 | KIP-153: Include only client traffic in BytesOutPerSec metric167: Add interface for the state store restoration process | 10.11.0.0 | ||||
170 | 152 - Improve diagnostics for SASL authentication failures 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 1.0.0 | ||||
171 | 151 Expose Connector type in REST API | 1 | 0.11.0.0 | |||
172 | KIP-150 - Kafka-Streams Cogroup162: Enable topic deletion by default | 1.0.02.4.0 (WIP) | ||||
173 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner161: streams deserialization exception handlers | 1.1.0 (partially implemented) (WIP for 2.4.0) | ||||
174 | KIP-146 - Classloading Isolation in Connect160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 10.11.0.0 | ||||
175 | KIP- | 145 - Expose Record Headers in Kafka Connect157 - Add consumer config options to streams reset tool | 1. | 10.0 | ||
176 | KIP- | 144: Exponential backoff for broker reconnect attempts156 Add option "dry run" to Streams application reset tool | 0.11.0.0 | |||
177 | KIP- | 143: Controller Health Metrics155 - Add range scan for windowed state stores | 0.11.0.0 | |||
178 | KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs154 Add Kafka Connect configuration properties for creating internal topics | 0.11.0.0 | ||||
179 | KIP-138: Change punctuate semantics153: Include only client traffic in BytesOutPerSec metric | 0.111.0.0 | ||||
180 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion152 - Improve diagnostics for SASL authentication failures | 10.11.0.0 | ||||
181 | KIP-136: Add Listener name to SelectorMetrics tags151 Expose Connector type in REST API | 0.11.0.0 | ||||
182 | KIP-134: Delay initial consumer group rebalance-150 - Kafka-Streams Cogroup | 2.4.0 (WIP)0.11.0.0 | ||||
183 | KIP-133: Describe and Alter Configs Admin APIs149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0)0.11.0.0 | ||||
184 | KIP- | 130: Expose states of active tasks to KafkaStreams public API146 - Classloading Isolation in Connect | 0.11 | 1.0.0 | ||
185 | KIP-129: Streams Exactly-Once Semantics145 - Expose Record Headers in Kafka Connect | 1.10.11.0.0 | ||||
186 | KIP-128144: Add ByteArrayConverter for Kafka ConnectExponential backoff for broker reconnect attempts | 0.11.0.0 | ||||
187 | KIP-126 - Allow KafkaProducer to split and resend oversized batches.143: Controller Health Metrics | 0.11.0.0 | ||||
188 | KIP-124 - Request rate quotas140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.11.0.0 | ||||
189 | KIP-123: Allow per stream/table timestamp extractor138: Change punctuate semantics | 10.11.0.0 | ||||
190 | KIP-122: Add Reset Consumer Group Offsets tooling137: Enhance TopicCommand --describe to show topics marked for deletion | 0.11.0.0 | ||||
191 | KIP-121136: Add KStream peek methodListener name to SelectorMetrics tags | 0.11.0.0 | ||||
192 | KIP-120: Cleanup Kafka Streams builder API134: Delay initial consumer group rebalance | 0.111.0.0 | ||||
193 | KIP-119: Drop Support for Scala 2.10 in Kafka 0.11133: Describe and Alter Configs Admin APIs | 0.11.0.0 | ||||
194 | KIP- | 118: Drop Support for Java 7130: Expose states of active tasks to KafkaStreams public API | 1 | 2.0.0 | ||
195 | KIP-117: Add a public AdminClient API for Kafka admin operations129: Streams Exactly-Once Semantics | 0.11.0.0 | ||||
196 | KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation128: Add ByteArrayConverter for Kafka Connect | 0.11.0.0 | ||||
197 | KIP-114: KTable state stores and improved semantics-126 - Allow KafkaProducer to split and resend oversized batches. | 0.11.0.0 | ||||
198 | KIP-113: Support replicas movement between log directories124 - Request rate quotas | 0.11.01.1.0 | ||||
199 | KIP-112: Handle disk failure for JBOD123: Allow per stream/table timestamp extractor | 0.111.0.0 | ||||
200 | KIP- | 110122: Add | Codec for ZStandard CompressionReset Consumer Group Offsets tooling | 0.11.0 | 2.1.0 | |
201 | KIP-109: Old Consumer Deprecation121: Add KStream peek method | 0.11.0.0 | ||||
202 | KIP-108: Create Topic Policy120: Cleanup Kafka Streams builder API | 1.0.0.10.2.0 | ||||
203 | KIP-107: Add deleteRecordsBefore() API in AdminClient119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.11.0.0 | ||||
204 | KIP-118: Drop Support for Java 7 | 2106 - Change Default unclean.leader.election.enabled from True to False0.11.0.0 | ||||
205 | KIP-105: Addition of Record Level for Sensors117: Add a public AdminClient API for Kafka admin operations | 0.1011.20.0 | ||||
206 | KIP-104: Granular Sensors for Streams 115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.1011.20.0 | ||||
207 | KIP-103: Separation of Internal and External traffic114: KTable state stores and improved semantics | 0.1011.20.0 | ||||
208 | KIP-102 - Add close with timeout for consumers113: Support replicas movement between log directories | 1.10.10.2.0 | ||||
209 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation112: Handle disk failure for JBOD | 10.11.0.0 | ||||
210 | KIP- | 100 - Relax Type constraints in Kafka Streams API110: Add Codec for ZStandard Compression | 2.1 | 0.10.2.0 | ||
211 | KIP-99: Add Global Tables to Kafka Streams | 0.10.2.0 | 212 | KIP-98 - Exactly Once Delivery and Transactional Messaging | 109: Old Consumer Deprecation | 0.11.0.0 |
213212 | KIP-97: Improved Kafka Client RPC Compatibility 108: Create Topic Policy | 0.10.2.0 | ||||
214213 | KIP-96 - Add per partition metrics for in-sync and assigned replica count107: Add deleteRecordsBefore() API in AdminClient | 0.11.0.0 | ||||
214 | KIP-106 - Change Default unclean.leader.election.enabled from True to False | 0.11.00.10.2.0 | ||||
215 | KIP-94 Session Windows105: Addition of Record Level for Sensors | 0.10.2.0 | ||||
216 | KIP-93: Improve invalid timestamp handling in Kafka Streams104: Granular Sensors for Streams | 0.10.2.0 | ||||
217 | KIP-92 - Add per partition lag metrics to KafkaConsumer103: Separation of Internal and External traffic | 0.10.2.0 | ||||
218 | KIP-91 Provide Intuitive User Timeouts in The Producer-102 - Add close with timeout for consumers | 0.10.22.1.0 | ||||
219 | KIP-90 - Remove zkClient dependency from Streams101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.1011.20.0 | ||||
220 | KIP-89: Allow sink connectors to decouple flush and offset commit100 - Relax Type constraints in Kafka Streams API | 0.10.2.0 | ||||
221 | KIP-88: OffsetFetch Protocol Update99: Add Global Tables to Kafka Streams | 0.10.2.0 | ||||
222 | KIP-86: Configurable SASL callback handlers-98 - Exactly Once Delivery and Transactional Messaging | 0.112.0.0 | ||||
223 | KIP-85: Dynamic JAAS configuration for Kafka clients97: Improved Kafka Client RPC Compatibility Policy | 0.10.2.0 | ||||
224 | KIP-84: Support SASL SCRAM mechanisms-96 - Add per partition metrics for in-sync and assigned replica count | 0.10.2.0 | ||||
225 | KIP-82 - Add Record Headers94 Session Windows | 0.1110.02.0 | ||||
226 | KIP-81: Bound Fetch memory usage in the consumer93: Improve invalid timestamp handling in Kafka Streams | 0.10.2.02.4.0 (WIP) | ||||
227 | KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer92 - Add per partition lag metrics to KafkaConsumer | 0.10.12.0 | ||||
228 | KIP-78: Cluster Id91 Provide Intuitive User Timeouts in The Producer | 2.0.10.1.0 | ||||
229 | KIP-77: Improve Kafka Streams Join Semantics-90 - Remove zkClient dependency from Streams | 0.10.2.0 | ||||
230 | KIP-75 - Add per-connector Converters89: Allow sink connectors to decouple flush and offset commit | 0.10.12.0 | ||||
231 | KIP-74: Add Fetch Response Size Limit in Bytes88: OffsetFetch Protocol Update | 0.10.12.0 | ||||
232 | KIP-73: Replication Quotas86: Configurable SASL callback handlers | 2.0.0.10.1.0 | ||||
233 | KIP-72: Allow putting a bound on memory consumed by Incoming request 85: Dynamic JAAS configuration for Kafka clients | 0.10.21.0.0 | ||||
234 | KIP-71: Enable log compaction and deletion to co-exist84: Support SASL SCRAM mechanisms | 0.10.12.0 | ||||
235 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change82 - Add Record Headers | 0.1011.10.0 | ||||
236 | KIP-67: Queryable state for Kafka Streams81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP)0.10.1.0 | ||||
237 | KIP-66: Single Message Transforms for Kafka Connect-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.10.21.0 / 0.11.0.0 | ||||
238238 | KIP-65: Expose timestamps to Connect78: Cluster Id | 0.10.1.0 | ||||
239 | KIP-63: Unify store and downstream caching in streams77: Improve Kafka Streams Join Semantics | 0.10.12.0 | ||||
240 | KIP-62: Allow consumer to send heartbeats from a background thread-75 - Add per-connector Converters | 0.10.1.0 | ||||
241 | KIP-60 - Make Java client classloading more flexible74: Add Fetch Response Size Limit in Bytes | 0.10.1.0 | ||||
242 | KIP-58 - Make Log Compaction Point Configurable73: Replication Quotas | 0.10.1.0 | ||||
243 | KIP-57 - Interoperable LZ4 Framing72: Allow putting a bound on memory consumed by Incoming request | 1.0.10.0.0 | ||||
244 | KIP-56: Allow cross origin HTTP requests on all HTTP methods71: Enable log compaction and deletion to co-exist | 0.10.01.0 | ||||
245 | KIP-55: Secure Quotas for Authenticated Users70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.1.0 | ||||
246 | KIP-54: Sticky Partition Assignment Strategy67: Queryable state for Kafka Streams | 0.1110.01.0 | ||||
247 | KIP-52: Connector Control APIs66: Single Message Transforms for Kafka Connect | 0.10.2.0 / 0.11.0.0 | ||||
248 | KIP-51 - List Connectors REST API65: Expose timestamps to Connect | 0.10.01.0 | ||||
249 | KIP-50 - Move Authorizer to o.a.k.common package63: Unify store and downstream caching in streams | 0.10.1.0 | ||||
250 | KIP-48 Delegation token support for Kafka62: Allow consumer to send heartbeats from a background thread | 0.101.1.0 | ||||
251 | KIP-45 60 - Standardize all client sequence interaction on j.u.Collection.Make Java client classloading more flexible | 0.10.01.0 | ||||
252 | KIP-43: Kafka SASL enhancements58 - Make Log Compaction Point Configurable | 0.10.01.0 | ||||
253 | KIP-42: Add Producer and Consumer Interceptors-57 - Interoperable LZ4 Framing | 0.10.0.0 | ||||
254 | KIP-41: Consumer Max Records56: Allow cross origin HTTP requests on all HTTP methods | 0.10.0.0 | ||||
255 | KIP-40: ListGroups and DescribeGroup55: Secure Quotas for Authenticated Users | 0.910.01.0 | ||||
256 | KIP-38: ZooKeeper Authentication54: Sticky Partition Assignment Strategy | 0.911.0.0 | ||||
257 | KIP-36 - Rack aware replica assignment52: Connector Control APIs | 0.10.0.0 | ||||
258 | KIP-35 - Retrieving protocol version51 - List Connectors REST API | 0.10.0.0 | ||||
259 | KIP-33 - Add a time based log index48 Delegation token support for Kafka | 10.10.1.0 | ||||
260 | KIP-32 - Add timestamps to Kafka message45 - Standardize all client sequence interaction on j.u.Collection. | 0.10.0.0 | ||||
261 | KIP-31 - Move to relative offsets in compressed message sets43: Kafka SASL enhancements | 0.10.0.0 | ||||
262 | KIP-28 - Add a processor client42: Add Producer and Consumer Interceptors | 0.10.0.0 | ||||
263 | KIP-26 - Add Kafka Connect framework for data import/export41: Consumer Max Records | 0.910.0.0 | ||||
264 | KIP-25 - System test improvements40: ListGroups and DescribeGroup | 0.9.0.0 | ||||
265 | KIP-22 - Expose a Partitioner interface in the new producer38: ZooKeeper Authentication | 0.9.0.0 | ||||
266 | KIP-21 - Dynamic Configuration36 - Rack aware replica assignment | 0.910.0.0 (WIP) | ||||
267 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system-35 - Retrieving protocol version | 0.910.0.0 | ||||
268 | KIP-19 33 - Add a request timeout to NetworkClienttime based log index | 0.910.01.0 | ||||
269 | KIP-16 - Automated Replica Lag Tuning32 - Add timestamps to Kafka message | 0.910.0.0 | ||||
270 | KIP-15 - Add a close method with a timeout in the producer31 - Move to relative offsets in compressed message sets | 0.910.0.0 | ||||
271 | KIP-13 - Quota Design28 - Add a processor client | 0.910.0.0 | ||||
272 | KIP-12 26 - Add Kafka Sasl/Kerberos and SSL implementationConnect framework for data import/export | 0.9.0.0 | ||||
273 | KIP-11 - Kafka Authorizer design25 - System test improvements | 0.9.0.0 | ||||
274 | KIP-8 22 - Add a flush method to the producer APIExpose a Partitioner interface in the new producer | 0.9.0.0 | ||||
275 | KIP-4 - Metadata Protocol Changes21 - Dynamic Configuration | 0.109.0.0 (WIP) | ||||
276 | KIP-4 - Command line and centralized administrative operations20 Enable log preallocate to improve consume performance under windows and some old Linux file system | 0.9.0.0 | ||||
277 | KIP-19 - Add a request timeout to NetworkClient | , 0.109.0.0 | ||||
278 | KIP-16 - Automated Replica Lag Tuning | , 0.109.10.0 | ||||
277279 | KIP-3 - Mirror Maker Enhancement15 - Add a close method with a timeout in the producer | 0.9.0.0 | ||||
278280 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs13 - Quota Design | 0.9.0.0 | ||||
279281 | KIP-1 - Remove support of request.required.acks12 - Kafka Sasl/Kerberos and SSL implementation | 0.9.0.0 |
...
282 | KIP-11 - Kafka Authorizer design | 0.9.0.0 |
283 | KIP-8 - Add a flush method to the producer API | 0.9.0.0 |
284 | KIP-4 - Metadata Protocol Changes | 0.10.0.0 |
285 | KIP-4 - Command line and centralized administrative operations | 0.9.0.0, 0.10.0.0, 0.10.1.0 |
286 | KIP-3 - Mirror Maker Enhancement | 0.9.0.0 |
287 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs | 0.9.0.0 |
288 | KIP-1 - Remove support of request.required.acks | 0.9.0.0 |
KIPs under discussion
Please insert new rows in sorted order (ascending by KIP number). Please move the adopted/accepted KIPs to the "Adopted KIPs" table above.
Please insert new rows in sorted order (by KIP number).
Dormant/inactive KIPs
Please insert new rows in sorted order (ascending by KIP number).
Discarded KIPs
Please insert new rows in sorted order (ascending by KIP number).
KIP Discussion Recordings
...