...
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: 502526
Use this number as the identifier for your KIP and increment this value.
...
KIP (please keep this sorted by KIP number) | Release | ||||||
---|---|---|---|---|---|---|---|
1 | KIP- | 488: Clean up Sum,Count,Total Metrics500: Replace ZooKeeper with a Self-Managed Metadata Quorum | |||||
2 | KIP-482: The Kafka Protocol should Support Optional Tagged Fields | 2.4.0 | 2 | KIP-484: Expose metrics for group and transaction metadata loading duration2.4.0 (WIP) | |||
3 | KIP-476: 504 - Add new Java AdminClient Authorizer Interface | 2.4.0 (WIP) | |||||
4 | KIP-467: Augment ProduceResponse error messaging for specific culprit records503: Add metric for number of topics marked for deletion | 2.4.0 (WIP) | |||||
5 | KIP-465497: Add Consolidated Connector Endpoint to Connect REST APIinter-broker API to alter ISR | 2.34.0 (WIP) | |||||
6 | KIP-464: Defaults for AdminClient#createTopic496: Administrative API to delete consumer offsets | 2.4.0 (WIP) | |||||
7 | KIP-462: Use local thread id for KStreams488: Clean up Sum,Count,Total Metrics | 2.34.0 | |||||
8 | KIP-461: Improve Replica Fetcher behavior at handling partition failure484: Expose metrics for group and transaction metadata loading duration | 2.34.0 (WIP) | |||||
9 | KIP-460: Admin Leader Election RPC480: Sticky Partitioner | 2.4.0 | |||||
10 | KIP-458: Connector Client Config Override Policy479: Add Materialized to Join | 2.34.0(WIP) | |||||
11 | KIP-455: Create an Administrative API for Replica Reassignment476: Add Java AdminClient Interface | 2.4.0 (WIP) | |||||
12 | KIP- | 454: Expansion of the ConnectClusterState interface475: New Metrics to Measure Number of Tasks on a Connector | 2. | 34.0 (WIP) | |||
13 | KIP- | 453: Add close() method to RocksDBConfigSetter474: To deprecate WindowStore#put(key, value) | 2. | 34.0 (WIP) | |||
14 | KIP-449: Add connector contexts to log messages in Connect workers 471: Expose RocksDB Metrics in Kafka Streams | 2. 34.0 (WIP) | |||||
15 | KIP-446: Add changelog topic configuration to KTable suppress467: Augment ProduceResponse error messaging for specific culprit records | 2.4.0 (WIP) | |||||
16 | KIP-445: In-memory Session Store465: Add Consolidated Connector Endpoint to Connect REST API | 2.3.0 | |||||
17 | KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics464: Defaults for AdminClient#createTopic | 2.34.0 | |||||
18 | KIP-442: Return to default max poll interval in Streams462: Use local thread id for KStreams | 2.3.0 | |||||
19 | KIP-436: Add a metric indicating start time461: Improve Replica Fetcher behavior at handling partition failure | 2.3.0 | |||||
20 | KIP- | 430 - Return Authorized Operations in Describe Responses460: Admin Leader Election RPC | 2. | 34.0 | |||
21 | KIP- | 429: Kafka Consumer Incremental Rebalance Protocol458: Connector Client Config Override Policy | 2. | 43.0 | (WIP)|||
22 | KIP- | 428: Add in-memory window store455: Create an Administrative API for Replica Reassignment | 2. | 34.0 (WIP) | |||
23 | KIP- | 427: Add AtMinIsr topic partition category (new metric & TopicCommand option)454: Expansion of the ConnectClusterState interface | 2.3.0 | ||||
24 | KIP-425453: Add some Log4J Kafka Appender Properties for Producing to Secured Brokersclose() method to RocksDBConfigSetter | 2.3.0 | |||||
25 | KIP- | 421: Support resolving externalized secrets in AbstractConfig449: Add connector contexts to log messages in Connect workers | 2.3.0 | ||||
26 | KIP- | 420446: Add | Single Value Fetch in Session Storeschangelog topic configuration to KTable suppress | 2. | 24.0 (WIP) | ||
27 | KIP- | 417: Allow JmxTool to connect to a secured RMI port445: In-memory Session Store | 2.3.0 | ||||
28 | 415: Incremental Cooperative Rebalancing in Kafka Connect | 2.3.0 | |||||
29 | KIP-414: Expose Embedded ClientIds in Kafka 442: Return to default max poll interval in Streams | 2.23.0 | |||||
30 | KIP- | 412440: Extend | Admin APIConnect Converter to support | dynamic application log levelsheaders | 2.4.0 (WIP) | ||
31 | KIP- | 411: Make default Kafka Connect worker task client IDs distinct436: Add a metric indicating start time | 2.3.0 | ||||
32 | KIP-402: Improve fairness in SocketServer processors434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.24.0 (WIP) | |||||
33 | KIP-430 - Return Authorized Operations in Describe Responses | partially implemented) / 2.3.0 | |||||
3334 | KIP-394: Require member.id for initial join group request429: Kafka Consumer Incremental Rebalance Protocol | 2.24.0 (WIP) | 34|||||
35 | KIP- | 393: Time windowed serde to properly deserialize changelog input topic428: Add in-memory window store | 2.3 | 2.2.0 | 35 | KIP-386: Standardize on Min/Avg/Max metrics' default value | 2.2.0 |
36 | KIP- | 382: MirrorMaker 2.0427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2. | 43.0 | (WIP)|||
37 | KIP-380: Detect outdated control requests and bounced brokers using broker generation425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.23.0 | |||||
38 | KIP-377: TopicCommand to use AdminClient421: Support resolving externalized secrets in AbstractConfig | 2.23.0 | |||||
39 | KIP- | 376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement420: Add Single Value Fetch in Session Stores | 2.2.0 | ||||
40 | KIP- | 374: Add '--help' option to all available Kafka CLI commands417: Allow JmxTool to connect to a secured RMI port | 2. | 23.0 | |||
41 | KIP- | 372: Naming Repartition Topics for Joins and Grouping415: Incremental Cooperative Rebalancing in Kafka Connect | 2. | 13.0 | |||
42 | KIP- | 371: Add a configuration to build custom SSL principal name414: Expose Embedded ClientIds in Kafka Streams | 2.2.0 | ||||
43 | KIP 368: Allow SASL Connections to Periodically Re-Authenticate-412: Extend Admin API to support dynamic application log levels | 2.24.0 (WIP) | |||||
44 | 367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2. | 23.0 | ||||
45 | KIP- | 366: Make FunctionConversions deprecated402: Improve fairness in SocketServer processors | 2. | 12.0 (partially implemented) / 2.3.0 | |||
46 | KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.14.0 (WIP) | |||||
47 | KIPKIP-361396: Add Consumer Configuration to Disable Auto Topic CreationCommit/List Offsets Operations to AdminClient | 2.34.0 (WIP) | |||||
48 | KIP-359: Verify leader epoch in produce requests394: Require member.id for initial join group request | 2.42.0 (WIP) | |||||
49 | KIP-358: Migrate Streams API to Duration instead of long ms times393: Time windowed serde to properly deserialize changelog input topic | 2.12.0 | |||||
50 | KIP-357: Add support to list ACLs per principal389: Introduce a configurable consumer group size limit | 2.12.0 | |||||
51 | KIP-356: Add withCachingDisabled() to StoreBuilder386: Standardize on Min/Avg/Max metrics' default value | 2.12.0 | |||||
52 | KIP-354: Add a Maximum Log Compaction Lag382: MirrorMaker 2.0 | 2.34.0 | |||||
53 | 353: Improve Kafka Streams Timestamp Synchronization | 2. | 14.0 (WIP) | ||||
54 | KIP-351: Add --under-min-isr option to describe topics command380: Detect outdated control requests and bounced brokers using broker generation | 2.32.0 | |||||
55 | KIP-346: Improve LogCleaner behavior on error377: TopicCommand to use AdminClient | 2.2.02.1 | |||||
56 | KIP-345: Introduce static membership protocol to reduce consumer rebalances376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.4.0 (WIP), partially available in 2.3.02.0 | |||||
57 | KIP-374: Add '--help' option to all available Kafka CLI commands | 2.2.0 | |||||
58 | KIP-372: Naming Repartition Topics for Joins and Grouping | 57 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication | 2.1.0 | |||
5859 | KIP- | 341: Update Sticky Assignor's User Data Protocol371: Add a configuration to build custom SSL principal name | 2. | 32.0 | 59|||
60 | KIP- | 340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file2.1.0 | |||||
60 | KIP-339: Create a new IncrementalAlterConfigs API | 2.3.0 | |||||
369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2.4.0 | ||||||
61 | KIP 368: Allow SASL Connections to Periodically Re-Authenticate | 2.2 | 61 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command | 2.1.0 | ||
62 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.12.0 | |||||
63 | KIP-332: Update AclCommand to use AdminClient API366: Make FunctionConversions deprecated | 2.1.0 | |||||
64 | KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and 365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2.31.0 | |||||
65 | KIPKIP-330361: Add retentionPeriod in SessionBytesStoreSupplierConsumer Configuration to Disable Auto Topic Creation | 2.13.0 | |||||
66 | KIP-328: Ability to suppress updates for KTables360: Improve handling of unknown producer | 2.1.0 (partially implemented) / 2.3.4.0 (WIP) | |||||
67 | KIP-324: Add method to get metrics() in AdminClient359: Verify leader epoch in produce requests | 2.14.0 (WIP) | |||||
68 | KIP- | 322: Return new error code for DeleteTopics API when topic deletion disabled.358: Migrate Streams API to Duration instead of long ms times | 2.1.0 | ||||
69 | KIP- | 321357: | Update TopologyDescription to better represent Source and Sink NodesAdd support to list ACLs per principal | 2.1.0 | |||
70 | KIP-320: Allow fetchers to detect and handle log truncation356: Add withCachingDisabled() to StoreBuilder | 2.1.0 (partially implemented) / 2.2 | |||||
71 | KIP-354: Add a Maximum Log Compaction Lag | 2.3.0 | |||||
7172 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier353: Improve Kafka Streams Timestamp Synchronization | 2.1.0 | |||||
7273 | KIP-313: Add KStream.flatTransform and KStream.flatTransformValues 352: Distinguish URPs caused by reassignment | 2.24.0 (partially implementedWIP) / 2.3.0 | |||||
7374 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties351: Add --under-min-isr option to describe topics command | 2.13.0 | 74|||||
75 | KIP- | 308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides346: Improve LogCleaner behavior on error | 2.1 | .0||||
7576 | KIP-307: Allow to define custom processor names with KStreams DSL345: Introduce static membership protocol to reduce consumer rebalances | 2.34.0 (partial) | 76 | KIP-306: Configuration for Delaying Response to Failed Authentication | 2.1WIP), partially available in 2.3.0 | ||
77 | KIP- | 305: Add Connect primitive number converters342 Add support for custom SASL extensions in OAuthBearer authentication | 2. | 01.0 | |||
78 | KIP-303: Add Dynamic Routing in Streams Sink341: Update Sticky Assignor's User Data Protocol | 2.03.0 | |||||
79 | KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.1.0 | |||||
80 | KIP-300: Add Windowed KTable API in StreamsBuilder339: Create a new IncrementalAlterConfigs API | 2.43.00 | |||||
81 | KIP-298: Error Handling in Connect338 Support to exclude the internal topics in kafka-topics.sh command | 2.01.0 | |||||
82 | KIP-297: Externalizing Secrets for Connect Configurations336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2.01.0 | |||||
83 | KIP- | 295 Add Streams Configuration Allowing for Optional Topology Optimization332: Update AclCommand to use AdminClient API | 2. | 01.0 | |||
84 | KIP-294 - Enable TLS hostname verification by default331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.03.0 | |||||
85 | KIP-292330: Add transformValues() method to KTableretentionPeriod in SessionBytesStoreSupplier | 2.01.0 | |||||
86 | KIP-290: Support for Prefixed ACLs328: Ability to suppress updates for KTables | 2.1.0 (partially implemented) / 2.3.0 (WIP) | |||||
87 | KIP-289: Improve the default group id behavior in KafkaConsumer324: Add method to get metrics() in AdminClient | 2.21.0 | |||||
88 | KIP-285: Connect Rest Extension Plugin322: Return new error code for DeleteTopics API when topic deletion disabled. | 2.01.0 | |||||
89 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE321: Update TopologyDescription to better represent Source and Sink Nodes | 2.01.0 | |||||
90 | KIP-283: Efficient Memory Usage for Down-Conversion320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2.0 | |||||
91 | KIP-282: Add the listener name to the authentication context319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.01.0 | |||||
92 | KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User313: Add KStream.flatTransform and KStream.flatTransformValues | 2. 02.0 | 93 | KIP-279: Fix log divergence between leader and follower after fast leader fail over | (partially implemented) / 2.3 | 2.0.0 | |
93 | KIP-278 - Add version option to Kafka's commands312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.01.0 | |||||
9594 | KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.1.0 | |||||
95 | KIP-307: Allow to define custom processor names with KStreams DSL | 2.3.0 (partial)277 - Fine Grained ACL for CreateTopics API2.0.0 | |||||
96 | KIP- | 276 - Add StreamsConfig prefix for different consumers306: Configuration for Delaying Response to Failed Authentication | 2. | 01.0 | |||
97 | KIP-274: Kafka Streams Skipped Records Metrics305: Add Connect primitive number converters | 2.0.0 | |||||
98 | KIP-272303: Add API version tag to broker's RequestsPerSec metricDynamic Routing in Streams Sink | 2.0.0 | |||||
99 | KIP-270 - A Scala Wrapper Library for Kafka Streams302 - Enable Kafka clients to use all DNS resolved IP addresses | 2.01.0 | |||||
100 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade300: Add Windowed KTable API in StreamsBuilder | 2. | 04.0 | |||
101 | KIP- | 267: Add Processor Unit Test Support to Kafka Streams Test Utils298: Error Handling in Connect | 2.0.0 | ||||
102 | KIP-266: Fix consumer indefinite blocking behavior297: Externalizing Secrets for Connect Configurations | 2.0.0 | |||||
103 | KIP- | 265: Make Windowed Serde to public APIs295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0.0 | ||||
104 | KIP | -261: Add Single Value Fetch in Window Stores-294 - Enable TLS hostname verification by default | 2.0.0 | ||||
105 | 258: Allow to Store Record Timestamps in RocksDB2.3.0 (partially implemented) | Accepted | |||||
106 | KIP- | 257 - Configurable Quota Management292: Add transformValues() method to KTable | 2.0.0 | ||||
107 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER290: Support for Prefixed ACLs | 2.0.0 | |||||
108 | KIP- | 251: Allow timestamp manipulation in Processor API289: Improve the default group id behavior in KafkaConsumer | 2. | 02.0 | |||
109 | KIP-249: Add Delegation Token Operations to KafkaAdminClient285: Connect Rest Extension Plugin | 2.0.0 | |||||
110 | KIP- | 247: Add public test utils for Kafka Streams284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2.0 | 1.1.0 | |||
111 | KIP- | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor283: Efficient Memory Usage for Down-Conversion | 2.0.0 | ||||
112 | KIP-244282: Add Record Header support to Kafka Streams Processor APIthe listener name to the authentication context | 2.0.0 | |||||
113 | KIP- | 243: Make ProducerConfig and ConsumerConfig constructors public281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2.0 | 1.1.0 | |||
114 | KIP-239 Add queryableStoreName() to GlobalKTable279: Fix log divergence between leader and follower after fast leader fail over | 2.01.1.0 | |||||
115 | KIP | -238: Expose Kafka cluster ID in Connect REST API-278 - Add version option to Kafka's commands | 2.0 | 1.1.0 | |||
116 | KIP- | 237: More Controller Health Metrics277 - Fine Grained ACL for CreateTopics API | 2.0.0 | ||||
117 | KIP- | 235: Add DNS alias support for secured connection276 - Add StreamsConfig prefix for different consumers | 2. | 10.0 | |||
118 | KIP-233: Simplify StreamsBuilder#addGlobalStore274: Kafka Streams Skipped Records Metrics | 2.01.1.0 | |||||
119 | KIP-231: Improve the Required ACL of ListGroups API272: Add API version tag to broker's RequestsPerSec metric | 2.10.0 | |||||
120 | KIP- | 229: DeleteGroups API270 - A Scala Wrapper Library for Kafka Streams | 2.0 | 1.1.0 | |||
121 | KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2.01.1.0 | |||||
122 | KIP-226 - Dynamic Broker Configuration267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.01.1.0 | |||||
123 | KIP- | 225 - Use tags for consumer “records.lag” metrics266: Fix consumer indefinite blocking behavior | 2.0 | 1.1.0 | |||
124 | KIP-224: Add configuration parameter `retries` to Streams API265: Make Windowed Serde to public APIs | 2.01.1.0 | |||||
125 | KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer261: Add Single Value Fetch in Window Stores | 2.0.0 | |||||
126 | KIP- | 222 - Add Consumer Group operations to Admin API258: Allow to Store Record Timestamps in RocksDB | 2. | 03.0 (partially implemented) | |||
127 | KIP-220: Add AdminClient into Kafka Streams' ClientSupplier257 - Configurable Quota Management | 2.01.1.0 | |||||
128 | KIP- | 219 - Improve quota communication255: OAuth Authentication via SASL/OAUTHBEARER | 2.0.0 | ||||
129 | KIP-218: Make KafkaFuture.Function java 8 lambda compatible251: Allow timestamp manipulation in Processor API | 2.01.1.0 | |||||
130 | KIP-215249: Add topic regex support for Connect sinksDelegation Token Operations to KafkaAdminClient | 2.01.1.0 | |||||
131 | KIP-214: Add zookeeper.max.in.flight.requests config to the broker247: Add public test utils for Kafka Streams | 1.1.0 | |||||
132 | KIP- | 213 Support non-key joining in KTable245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2. | 40.0 | (WIP)|||
133 | KIP- | 212: Enforce set of legal characters for connector names244: Add Record Header support to Kafka Streams Processor API | 2.0 | 1.1.0 | |||
134 | KIP-211: Revise Expiration Semantics of Consumer Group Offsets243: Make ProducerConfig and ConsumerConfig constructors public | 12.1.0 | |||||
135 | KIP-210 - Provide for custom error handling when Kafka Streams fails to produce239 Add queryableStoreName() to GlobalKTable | 1.1.0 | |||||
136 | KIP-208: Add SSL support to Kafka 238: Expose Kafka cluster ID in Connect REST interfaceAPI | 1.1.0 | |||||
137 | KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change237: More Controller Health Metrics | 2.20.0 | |||||
138 | KIP-206235: Add DNS alias support for UUID serialization and deserializationsecured connection | 2.1.0 | |||||
139 | KIP-205: Add all() and range() API to ReadOnlyWindowStore233: Simplify StreamsBuilder#addGlobalStore | 1.1.1.1.0 | |||||
140 | KIP- | 204 : Adding records deletion operation to the new Admin Client API231: Improve the Required ACL of ListGroups API | 2 | 1.1.0 | |||
141 | KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule 229: DeleteGroups API | 1.1.0 | |||||
142 | KIP-202: Move merge() from StreamsBuilder to KStream227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.01.0 | |||||
143 | KIP-198: Remove ZK dependency from Streams Reset Tool-226 - Dynamic Broker Configuration | 1.01.0 | |||||
144 | KIP-197 Connect REST API should include the connector type when describing a connector-225 - Use tags for consumer “records.lag” metrics | 1.01.0 | |||||
145 | KIP-196224: Add metrics to Kafka Connect frameworkconfiguration parameter `retries` to Streams API | 1.01.0 | |||||
146 | KIP-195: AdminClient.createPartitions-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 21.0.0 | |||||
147 | KIP-192 : Provide cleaner semantics when idempotence is enabled-222 - Add Consumer Group operations to Admin API | 21.0.0 | |||||
148 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)1.0.0 | |||||
149 | KIP-190: Handle client-ids consistently between clients and brokers220: Add AdminClient into Kafka Streams' ClientSupplier | 1.01.0 | |||||
150 | KIP-219 - 189: Improve principal builder interface and add support for SASLImprove quota communication | 21.0.0 | |||||
151 | KIP-188 - Add new metrics to support health checks218: Make KafkaFuture.Function java 8 lambda compatible | 1.01.0 | |||||
152 | KIP-187 - Add cumulative count metric for all Kafka rate metrics215: Add topic regex support for Connect sinks | 1.01.0 | |||||
153 | KIP-186: Increase offsets retention default to 7 days214: Add zookeeper.max.in.flight.requests config to the broker | 1.12.0.0 | |||||
154 | KIP- | 183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient213 Support non-key joining in KTable | 2. | 24.0 (WIP) | |||
155 | KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines212: Enforce set of legal characters for connector names | 1.01.0 | |||||
156 | KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress211: Revise Expiration Semantics of Consumer Group Offsets | 21.1.0 | |||||
157 | KIP-177: Consumer perf tool should count rebalance time210 - Provide for custom error handling when Kafka Streams fails to produce | 1.01.0 | |||||
158 | KIP- | 176: Remove deprecated new-consumer option for tools208: Add SSL support to Kafka Connect REST interface | 1.1 | 2.0.0 | |||
159 | KIP-175: Additional '--describe' views for ConsumerGroupCommand207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.21.1.0 | |||||
160 | KIP- | 174 - Deprecate and remove internal converter configs in WorkerConfig206: Add support for UUID serialization and deserialization | 2. | 01.0 | |||
161 | KIP-173205: Add prefix to StreamsConfig to enable setting default internal topic configsall() and range() API to ReadOnlyWindowStore | 1.01.0 | |||||
162 | KIP-171 - Extend Consumer Group Reset Offset for Stream Application204 : Adding records deletion operation to the new Admin Client API | 1.1.0 | |||||
163 | KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.01.0 | |||||
164 | KIP-167: Add interface for the state store restoration process202: Move merge() from StreamsBuilder to KStream | 1.0.0 | |||||
165 | KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics198: Remove ZK dependency from Streams Reset Tool | 1.0.0 | |||||
166 | KIP- | 163: Lower the Minimum Required ACL Permission of OffsetFetch197 Connect REST API should include the connector type when describing a connector | 1.0.0 | ||||
167 | KIP-162: Enable topic deletion by default196: Add metrics to Kafka Connect framework | 1.0.0 | |||||
168 | KIP-161: streams deserialization exception handlers195: AdminClient.createPartitions | 1.0.0 | |||||
169 | KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string192 : Provide cleaner semantics when idempotence is enabled | 1.0.0 | |||||
170 | KIP- | 157 - Add consumer config options to streams reset tool191: KafkaConsumer.subscribe() overload that takes just Pattern | 1.0.0 | ||||
171 | KIP | -156 Add option "dry run" to Streams application reset tool-190: Handle client-ids consistently between clients and brokers | 1 | 0.11.0.0 | |||
172 | KIP- | 155 - Add range scan for windowed state stores189: Improve principal builder interface and add support for SASL | 1 | 0.11.0.0 | |||
173 | KIP-188 - 154 Add Kafka Connect configuration properties for creating internal topicsAdd new metrics to support health checks | 10.11.0.0 | |||||
174 | KIP-153: Include only client traffic in BytesOutPerSec metric-187 - Add cumulative count metric for all Kafka rate metrics | 10.11.0.0 | |||||
175 | KIP-152 - Improve diagnostics for SASL authentication failures186: Increase offsets retention default to 7 days | 21.0.0 | |||||
176 | KIP-151 Expose Connector type in REST API183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.2.00.11.0.0 | |||||
177 | KIP-150 - Kafka-Streams Cogroup182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.0.02.4.0 (WIP) | |||||
178 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.1.0 (partially implemented) (WIP for 2.4.0) | |||||
179 | KIP-146 - Classloading Isolation in Connect177: Consumer perf tool should count rebalance time | 1.0.11.0.0 | |||||
180 | KIP- | 145 - Expose Record Headers in Kafka Connect176: Remove deprecated new-consumer option for tools | 2.0 | 1.1.0 | |||
181 | KIP-144: Exponential backoff for broker reconnect attempts175: Additional '--describe' views for ConsumerGroupCommand | 1.10.11.0.0 | |||||
182 | KIP-143: Controller Health Metrics174 - Deprecate and remove internal converter configs in WorkerConfig | 2.0.11.0.0 | |||||
183 | KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1.0.11.0.0 | |||||
184 | KIP-138: Change punctuate semantics-171 - Extend Consumer Group Reset Offset for Stream Application | 1.01.0 | |||||
185 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 10.11.0.0 | |||||
186 | KIP-136167: Add Listener name to SelectorMetrics tagsinterface for the state store restoration process | 1.0.11.0.0 | |||||
187 | 134: Delay initial consumer group rebalance 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 10.11.0.0 | |||||
188 | 133: Describe and Alter Configs Admin APIs | 1 | 0.11.0.0 | ||||
189 | KIP- | 130: Expose states of active tasks to KafkaStreams public API162: Enable topic deletion by default | 1.0.0 | ||||
190 | KIP-129: Streams Exactly-Once Semantics161: streams deserialization exception handlers | 10.11.0.0 | |||||
191 | KIP-128: Add ByteArrayConverter for Kafka Connect160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 1.0.11.0.0 | |||||
192 | KIP- | 126 - Allow KafkaProducer to split and resend oversized batches.157 - Add consumer config options to streams reset tool | 1 | 0.11.0.0 | |||
193 | KIP- | 124 - Request rate quotas156 Add option "dry run" to Streams application reset tool | 0.11.0.0 | ||||
194 | KIP- | 123: Allow per stream/table timestamp extractor155 - Add range scan for windowed state stores | 0.11.0.0 | ||||
195 | KIP-122: Add Reset Consumer Group Offsets tooling154 Add Kafka Connect configuration properties for creating internal topics | 0.11.0.0 | |||||
196 | KIP-121: Add KStream peek method153: Include only client traffic in BytesOutPerSec metric | 0.11.0.0 | |||||
197 | KIP-120: Cleanup Kafka Streams builder API152 - Improve diagnostics for SASL authentication failures | 1.0.0 | |||||
198 | KIP-119: Drop Support for Scala 2.10 in Kafka 0.11151 Expose Connector type in REST API | 0.11.0.0 | |||||
199 | KIP-118: Drop Support for Java 7-150 - Kafka-Streams Cogroup | 2.0.04.0 (WIP) | |||||
200 | KIP-117: Add a public AdminClient API for Kafka admin operations | 0.11.0.0 | 149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0) | |||
201 | KIP-146 - Classloading Isolation in Connect | 201 | KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.11.0.0 | |||
202 | KIP-114: KTable state stores and improved semantics-145 - Expose Record Headers in Kafka Connect | 1.10.11.0.0 | |||||
203 | KIP-113: Support replicas movement between log directories144: Exponential backoff for broker reconnect attempts | 0.11.01.1.0 | |||||
204 | KIP-112: Handle disk failure for JBOD143: Controller Health Metrics | 0.111.0.0 | |||||
205 | KIP- | 110140: Add | Codec for ZStandard Compression2.1administrative RPCs for adding, deleting, and listing ACLs | 0.11.0.0 | |||
206 | KIP-109: Old Consumer Deprecation138: Change punctuate semantics | 10.11.0.0 | |||||
207 | KIP-108: Create Topic Policy137: Enhance TopicCommand --describe to show topics marked for deletion | 0.1011.20.0 | |||||
208 | KIP-107136: Add deleteRecordsBefore() API in AdminClientListener name to SelectorMetrics tags | 0.11.0.0 | |||||
209 | KIP-106 - Change Default unclean.leader.election.enabled from True to False134: Delay initial consumer group rebalance | 0.11.0.0 | |||||
210 | KIP-105: Addition of Record Level for Sensors133: Describe and Alter Configs Admin APIs | 0.1011.20.0 | |||||
211 | KIP- | 104: Granular Sensors for Streams130: Expose states of active tasks to KafkaStreams public API | 1.0. | 0.10.2.0 | |||
212 | KIP-103: Separation of Internal and External traffic129: Streams Exactly-Once Semantics | 0.1011.20.0 | |||||
213 | KIP-102 - Add close with timeout for consumers128: Add ByteArrayConverter for Kafka Connect | 0.1011.20.0 | |||||
214 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation126 - Allow KafkaProducer to split and resend oversized batches. | 0.11.0.0 | |||||
215 | KIP-100 - Relax Type constraints in Kafka Streams API124 - Request rate quotas | 0.1011.20.0 | |||||
216 | KIP-99: Add Global Tables to Kafka Streams123: Allow per stream/table timestamp extractor | 0.1011.20.0 | |||||
217 | KIP-98 - Exactly Once Delivery and Transactional Messaging122: Add Reset Consumer Group Offsets tooling | 0.11.0.0 | |||||
218 | KIP-97: Improved Kafka Client RPC Compatibility Policy121: Add KStream peek method | 0. 1011. 20.0 | |||||
219 | KIP-96 - Add per partition metrics for in-sync and assigned replica count120: Cleanup Kafka Streams builder API | 1.0.0.10.2.0 | |||||
220 | KIP-94 Session Windows119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.1011.20.0 | |||||
221 | KIP-93: Improve invalid timestamp handling in Kafka Streams118: Drop Support for Java 7 | 2.00.10.2.0 | |||||
222 | KIP-92 - Add per partition lag metrics to KafkaConsumer117: Add a public AdminClient API for Kafka admin operations | 0.1011.20.0 | |||||
223 | KIP-91 Provide Intuitive User Timeouts in The Producer115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.11.02.1.0 | |||||
224 | KIP-90 - Remove zkClient dependency from Streams114: KTable state stores and improved semantics | 0.1011.20.0 | |||||
225 | KIP-89: Allow sink connectors to decouple flush and offset commit113: Support replicas movement between log directories | 1.10.10.2.0 | |||||
226 | KIP-88: OffsetFetch Protocol Update112: Handle disk failure for JBOD | 1.0.0.10.2.0 | |||||
227 | KIP- | 86: Configurable SASL callback handlers110: Add Codec for ZStandard Compression | 2. | 01.0 | |||
228 | KIP-85: Dynamic JAAS configuration for Kafka clients109: Old Consumer Deprecation | 0.1011.20.0 | |||||
229 | KIP-84: Support SASL SCRAM mechanisms108: Create Topic Policy | 0.10.2.0 | |||||
230 | KIP-82 - Add Record Headers107: Add deleteRecordsBefore() API in AdminClient | 0.11.0.0 | |||||
231 | 81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP) | 106 - Change Default unclean.leader.election.enabled from True to False | 0.11.0.0 | |||
232 | KIP-105: Addition of Record Level for Sensors | 232 | KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.10.12.0 | |||
233 | KIP-78: Cluster Id104: Granular Sensors for Streams | 0.10.12.0 | |||||
234 | KIP-77: Improve Kafka Streams Join Semantics103: Separation of Internal and External traffic | 0.10.2.0 | |||||
235 | KIP-75 102 - Add per-connector Convertersclose with timeout for consumers | 0.10.12.0 | |||||
236 | KIP-74: Add Fetch Response Size Limit in Bytes-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.1011.10.0 | |||||
237 | KIP-73: Replication Quotas-100 - Relax Type constraints in Kafka Streams API | 0.10.12.0 | |||||
238 | KIP-72: Allow putting a bound on memory consumed by Incoming request 99: Add Global Tables to Kafka Streams | 0.10.21.0.0 | |||||
239 | KIP-71: Enable log compaction and deletion to co-exist-98 - Exactly Once Delivery and Transactional Messaging | 0.1011.10.0 | |||||
240 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change97: Improved Kafka Client RPC Compatibility Policy | 0.10.12.0 | |||||
241 | KIP-67: Queryable state for Kafka Streams96 - Add per partition metrics for in-sync and assigned replica count | 0.10.12.0 | |||||
242 | KIP-66: Single Message Transforms for Kafka Connect94 Session Windows | 0.10.2.0 / 0.11.0.0 | |||||
243 | KIP-65: Expose timestamps to Connect93: Improve invalid timestamp handling in Kafka Streams | 0.10.12.0 | |||||
244 | KIP-63: Unify store and downstream caching in streams92 - Add per partition lag metrics to KafkaConsumer | 0.10.12.0 | |||||
245 | KIP-62: Allow consumer to send heartbeats from a background thread91 Provide Intuitive User Timeouts in The Producer | 20.10.1.0 | |||||
246 | KIP-60 - Make Java client classloading more flexible90 - Remove zkClient dependency from Streams | 0.10.12.0 | |||||
247 | KIP-58 - Make Log Compaction Point Configurable89: Allow sink connectors to decouple flush and offset commit | 0.10.12.0 | |||||
248 | KIP-57 - Interoperable LZ4 Framing88: OffsetFetch Protocol Update | 0.10.02.0 | |||||
249 | KIP-56: Allow cross origin HTTP requests on all HTTP methods86: Configurable SASL callback handlers | 20.10.0.0 | |||||
250 | KIP-55: Secure Quotas for Authenticated Users85: Dynamic JAAS configuration for Kafka clients | 0.10.12.0 | |||||
251 | KIP-54: Sticky Partition Assignment Strategy84: Support SASL SCRAM mechanisms | 0.1110.02.0 | |||||
252 | KIP-52: Connector Control APIs82 - Add Record Headers | 0.1011.0.0 | |||||
253 | KIP-51 - List Connectors REST API81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP)0.10.0.0 | |||||
254 | KIP-50 - Move Authorizer to o.a.k.common package79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.10.1.0 | |||||
255 | KIP-48 Delegation token support for Kafka78: Cluster Id | 0.101.1.0 | |||||
256 | KIP-45 - Standardize all client sequence interaction on j.u.Collection.77: Improve Kafka Streams Join Semantics | 0.10.02.0 | |||||
257 | KIP-43: Kafka SASL enhancements-75 - Add per-connector Converters | 0.10.01.0 | |||||
258 | KIP-4274: Add Producer and Consumer InterceptorsFetch Response Size Limit in Bytes | 0.10.01.0 | |||||
259 | KIP-41: Consumer Max Records73: Replication Quotas | 0.10.01.0 | |||||
260 | KIP-40: ListGroups and DescribeGroup72: Allow putting a bound on memory consumed by Incoming request | 10.9.0.0 | |||||
261 | KIP-38: ZooKeeper Authentication71: Enable log compaction and deletion to co-exist | 0.910.01.0 | |||||
262 | KIP-36 - Rack aware replica assignment70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.01.0 | |||||
263 | KIP-35 - Retrieving protocol version67: Queryable state for Kafka Streams | 0.10.01.0 | |||||
264 | KIP-33 - Add a time based log index66: Single Message Transforms for Kafka Connect | 0.10.1.2.0 / 0.11.0.0 | |||||
265 | KIP-32 - Add 65: Expose timestamps to Kafka messageConnect | 0.10.01.0 | |||||
266 | KIP-31 - Move to relative offsets in compressed message sets63: Unify store and downstream caching in streams | 0.10.01.0 | |||||
267 | KIP-28 - Add a processor client62: Allow consumer to send heartbeats from a background thread | 0.10.01.0 | |||||
268 | KIP-26 - Add Kafka Connect framework for data import/export60 - Make Java client classloading more flexible | 0.910.01.0 | |||||
269 | KIP-25 - System test improvements58 - Make Log Compaction Point Configurable | 0.910.01.0 | |||||
270 | KIP-22 - Expose a Partitioner interface in the new producer57 - Interoperable LZ4 Framing | 0.910.0.0 | |||||
271 | KIP-21 - Dynamic Configuration56: Allow cross origin HTTP requests on all HTTP methods | 0.910.0.0 (WIP) | |||||
272 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system55: Secure Quotas for Authenticated Users | 0.910.01.0 | |||||
273 | KIP-19 - Add a request timeout to NetworkClient54: Sticky Partition Assignment Strategy | 0.911.0.0 | |||||
274 | KIP-16 - Automated Replica Lag Tuning52: Connector Control APIs | 0.910.0.0 | |||||
275 | KIP-15 - Add a close method with a timeout in the producer51 - List Connectors REST API | 0.910.0.0 | |||||
276 | KIP-13 - Quota Design | 0.9.0.0 | 48 Delegation token support for Kafka | 1.1.0 | |||
277 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation45 - Standardize all client sequence interaction on j.u.Collection. | 0.910.0.0 | |||||
278 | KIP-11 - Kafka Authorizer design43: Kafka SASL enhancements | 0.910.0.0 | |||||
279 | KIP-8 - Add a flush method to the producer API42: Add Producer and Consumer Interceptors | 0.910.0.0 | |||||
280 | KIP-4 - Metadata Protocol Changes41: Consumer Max Records | 0.10.0.0 | |||||
281 | KIP-4 - Command line and centralized administrative operations40: ListGroups and DescribeGroup | 0.9.0.0, 0.10.0.0, 0.10.1.0 | |||||
282 | KIP-3 - Mirror Maker Enhancement38: ZooKeeper Authentication | 0.9.0.0 | |||||
283 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs36 - Rack aware replica assignment | 0.910.0.0 | |||||
284 | KIP-1 - Remove support of request.required.acks35 - Retrieving protocol version | 0.910.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 (ascending by KIP number).
Dormant/inactive KIPs
...
Discarded KIPs
Please insert new rows in sorted order (ascending by KIP number).
KIP Discussion Recordings
...