...
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: 504527
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 KStreams495: Dynamically Adjust Log Levels in Connect | 2. | 34.0 (WIP) | ||
8 | KIP-461: Improve Replica Fetcher behavior at handling partition failure488: Clean up Sum,Count,Total Metrics | 2.34.0 | ||||
9 | KIP- | 460: Admin Leader Election RPC484: Expose metrics for group and transaction metadata loading duration | 2.4.0 (WIP) | |||
10 | KIP- | 458: Connector Client Config Override Policy481: SerDe Improvements for Connect Decimal type in JSON | 2. | 34.0 (WIP) | ||
11 | KIP- | 455: Create an Administrative API for Replica Reassignment480: Sticky Partitioner | 2.4.0 | (WIP)|||
12 | KIP- | 454: Expansion of the ConnectClusterState interface479: Add Materialized to Join | 2. | 34.0(WIP) | ||
13 | KIP-453476: Add close() method to RocksDBConfigSetterJava AdminClient Interface | 2.34.0 | ||||
14 | KIP-449: Add connector contexts to log messages in Connect workers 475: New Metrics to Measure Number of Tasks on a Connector | 2.34.0 (WIP) | ||||
15 | KIP- | 446: Add changelog topic configuration to KTable suppress474: To deprecate WindowStore#put(key, value) | 2.4.0 (WIP) | |||
16 | KIP- | 445: In-memory Session Store471: Expose RocksDB Metrics in Kafka Streams | 2. | 34.0 (WIP) | ||
17 | KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics467: Augment ProduceResponse error messaging for specific culprit records | 2.34.0 (WIP) | ||||
18 | KIP-442: Return to default max poll interval in Streams465: Add Consolidated Connector Endpoint to Connect REST API | 2.3.0 | ||||
19 | KIP-436: Add a metric indicating start time464: Defaults for AdminClient#createTopic | 2.34.0 | ||||
20 | KIP-430 - Return Authorized Operations in Describe Responses462: Use local thread id for KStreams | 2.3.0 | ||||
21 | KIP-429: Kafka Consumer Incremental Rebalance Protocol461: Improve Replica Fetcher behavior at handling partition failure | 2.43.0 (WIP) | ||||
22 | KIP-428: Add in-memory window store460: Admin Leader Election RPC | 2.34.0 | ||||
23 | KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)458: Connector Client Config Override Policy | 2.3.0 | ||||
24 | KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers455: Create an Administrative API for Replica Reassignment | 2.34.0 (WIP) | ||||
25 | KIP-421: Support resolving externalized secrets in AbstractConfig454: Expansion of the ConnectClusterState interface | 2.3.0 | ||||
26 | KIP- | 420453: Add | Single Value Fetch in Session Storesclose() method to RocksDBConfigSetter | 2. | 23.0 | |
27 | KIP-417: Allow JmxTool to connect to a secured RMI port449: Add connector contexts to log messages in Connect workers | 2.3.0 | ||||
28 | KIP- | 415: Incremental Cooperative Rebalancing in Kafka Connect446: Add changelog topic configuration to KTable suppress | 2. | 34.0 (WIP) | ||
29 | KIP-414: Expose Embedded ClientIds in Kafka Streams445: In-memory Session Store | 2.23.0 | ||||
30 | 412 | Extend Admin API to support dynamic application log levels | 2. | 43.0 | (WIP)||
31 | KIP- | 411442: | Make default Kafka Connect worker task client IDs distinctReturn to default max poll interval in Streams | 2.3.0 | ||
32 | KIP-402: Improve fairness in SocketServer processors440: Extend Connect Converter to support headers | 2.24.0 (partially implemented) / 2.3.0WIP) | ||||
33 | KIP-394: Require member.id for initial join group request436: Add a metric indicating start time | 2.23.0 | ||||
34 | KIP-393: Time windowed serde to properly deserialize changelog input topic434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.24.0 (WIP) | ||||
35 | KIP-386: Standardize on Min/Avg/Max metrics' default value-430 - Return Authorized Operations in Describe Responses | 2.23.0 | ||||
36 | KIP-382: MirrorMaker 2.0429: Kafka Consumer Incremental Rebalance Protocol | 2.4.0 (WIP) | ||||
37 | KIP- | 380: Detect outdated control requests and bounced brokers using broker generation428: Add in-memory window store | 2. | 23.0 | ||
38 | KIP- | 377: TopicCommand to use AdminClient427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2. | 23.0 | ||
39 | KIP-376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.23.0 | ||||
40 | KIP-374: Add '--help' option to all available Kafka CLI commands421: Support resolving externalized secrets in AbstractConfig | 2.23.0 | ||||
41 | KIP- | 372: Naming Repartition Topics for Joins and Grouping420: Add Single Value Fetch in Session Stores | 2. | 12.0 | ||
42 | KIP-371: Add a configuration to build custom SSL principal name417: Allow JmxTool to connect to a secured RMI port | 2.23.0 | ||||
43 | KIP 368: Allow SASL Connections to Periodically Re-Authenticate-415: Incremental Cooperative Rebalancing in Kafka Connect | 2.23.0 | ||||
44 | KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)414: Expose Embedded ClientIds in Kafka Streams | 2.2.0 | ||||
45 | KIP-366: Make FunctionConversions deprecated412: Extend Admin API to support dynamic application log levels | 2.14.0 (WIP) | ||||
46 | 365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2. | 13.0 | |||
47 | KIPKIP-361: Add Consumer Configuration to Disable Auto Topic Creation402: Improve fairness in SocketServer processors | 2.2.0 (partially implemented) / 2.2.3.0 | ||||
48 | KIP-359: Verify leader epoch in produce requests401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.4.0 (WIP) | ||||
49 | KIP-358: Migrate Streams API to Duration instead of long ms times396: Add Commit/List Offsets Operations to AdminClient | 2.14.0 (WIP) | ||||
50 | KIP- | 357: Add support to list ACLs per principal394: Require member.id for initial join group request | 2. | 12.0 | ||
51 | KIP-356: Add withCachingDisabled() to StoreBuilder393: Time windowed serde to properly deserialize changelog input topic | 2.12.0 | ||||
52 | KIP- | 354389: | Add a Maximum Log Compaction LagIntroduce a configurable consumer group size limit | 2. | 32.0 | |
53 | KIP-353: Improve Kafka Streams Timestamp Synchronization386: Standardize on Min/Avg/Max metrics' default value | 2.12.0 | ||||
54 | KIP-351: Add --under-min-isr option to describe topics command382: MirrorMaker 2.0 | 2.34.0 | ||||
55 | 346: Improve LogCleaner behavior on error | 2 | .1.4.0 (WIP) | |||
56 | KIP-345: Introduce static membership protocol to reduce consumer rebalances380: Detect outdated control requests and bounced brokers using broker generation | 2.2.2.4.0 (WIP), partially available in 2.3.0 | ||||
57 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication377: TopicCommand to use AdminClient | 2.12.0 | ||||
58 | KIP-341: Update Sticky Assignor's User Data Protocol376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.32.0 | ||||
59 | KIP-340374: Allow kafkaAdd '-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file-help' option to all available Kafka CLI commands | 2.2.2.1.0 | ||||
60 | KIP-339: Create a new IncrementalAlterConfigs API372: Naming Repartition Topics for Joins and Grouping | 2.31.0 0 | ||||
61 | KIP- | 338 Support to exclude the internal topics in kafka-topics.sh command371: Add a configuration to build custom SSL principal name | 2. | 12.0 | ||
62 | KIP- | 336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2. | 14.0 | ||
63 | KIP -332: Update AclCommand to use AdminClient API368: Allow SASL Connections to Periodically Re-Authenticate | 2.12.0 | ||||
64 | KIP-331 Add default implementation to 367 Introduce close(Duration) and configure() for Serializer, Deserializer and Serdeto Producer and AdminClient instead of close(long, TimeUnit) | 2.32.0 | ||||
65 | KIP- | 330: Add retentionPeriod in SessionBytesStoreSupplier366: Make FunctionConversions deprecated | 2.1.0 | |||
66 | KIP-328: Ability to suppress updates for KTables365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2.1.0 (partially implemented) / 2.3.0 (WIP) | ||||
67 | KIPKIP-324361: Add method to get metrics() in AdminClientConsumer Configuration to Disable Auto Topic Creation | 2.13.0 | ||||
68 | KIP- | 322: Return new error code for DeleteTopics API when topic deletion disabled.360: Improve handling of unknown producer | 2. | 14.0 (WIP) | ||
69 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes359: Verify leader epoch in produce requests | 2.14.0 (WIP) | ||||
70 | KIP-320: Allow fetchers to detect and handle log truncation358: Migrate Streams API to Duration instead of long ms times | 2.1.0 (partially implemented) / 2.2.0 | ||||
71 | KIP- | 319: Replace segments with segmentInterval in WindowBytesStoreSupplier357: Add support to list ACLs per principal | 2.1.0 | |||
72 | KIP-313356: Add KStream.flatTransform and KStream.flatTransformValues withCachingDisabled() to StoreBuilder | 2.1 2.2.0 (partially implemented) / 2.3.0 | ||||
73 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties354: Add a Maximum Log Compaction Lag | 2.13.0 | ||||
74 | KIP- | 308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides353: Improve Kafka Streams Timestamp Synchronization | 2.1.0 | |||
75 | KIP-307: Allow to define custom processor names with KStreams DSL352: Distinguish URPs caused by reassignment | 2.34.0 (partialWIP) | ||||
76 | KIP-306: Configuration for Delaying Response to Failed Authentication351: Add --under-min-isr option to describe topics command | 2.13.0 | ||||
77 | KIP- | 305: Add Connect primitive number converters346: Improve LogCleaner behavior on error | 2. | 0.01 | ||
78 | KIP-303: Add Dynamic Routing in Streams Sink345: Introduce static membership protocol to reduce consumer rebalances | 2.4.0 (WIP), partially available in 2.3.0 | ||||
79 | KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses342 Add support for custom SASL extensions in OAuthBearer authentication | 2.1.0 | ||||
80 | KIP-300: Add Windowed KTable API in StreamsBuilder341: Update Sticky Assignor's User Data Protocol | 2.43.0 | ||||
81 | KIP-298: Error Handling in Connect340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.01.0 | ||||
82 | KIP-297: Externalizing Secrets for Connect Configurations339: Create a new IncrementalAlterConfigs API | 2.03.00 | ||||
83 | KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization338 Support to exclude the internal topics in kafka-topics.sh command | 2.01.0 | ||||
84 | KIP-294 - Enable TLS hostname verification by default336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2.01.0 | ||||
85 | KIP- | 292: Add transformValues() method to KTable332: Update AclCommand to use AdminClient API | 2. | 01.0 | ||
86 | KIP-290: Support for Prefixed ACLs331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.03.0 | ||||
87 | KIP-289: Improve the default group id behavior in KafkaConsumer330: Add retentionPeriod in SessionBytesStoreSupplier | 2.21.0 | ||||
88 | KIP- | 285: Connect Rest Extension Plugin328: Ability to suppress updates for KTables | 2.1.0 (partially implemented) / 2.3.0 (WIP) | |||
89 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE324: Add method to get metrics() in AdminClient | 2.01.0 | ||||
90 | KIP- | 283: Efficient Memory Usage for Down-Conversion322: Return new error code for DeleteTopics API when topic deletion disabled. | 2. | 01.0 | ||
91 | KIP-282: Add the listener name to the authentication context321: Update TopologyDescription to better represent Source and Sink Nodes | 2.01.0 | ||||
92 | KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2.0 | ||||
93 | KIP- | 279: Fix log divergence between leader and follower after fast leader fail over319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2. | 01.0 | ||
94 | KIP-278 - Add version option to Kafka's commands313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3.0 | ||||
95 | KIP-277 - Fine Grained ACL for CreateTopics API312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.01.0 | ||||
96 | KIP-276 - Add StreamsConfig prefix for different consumers308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.01.0 | ||||
97 | KIP- | 274: Kafka Streams Skipped Records Metrics307: Allow to define custom processor names with KStreams DSL | 2. | 03.0 (partial) | ||
98 | KIP-272: Add API version tag to broker's RequestsPerSec metric306: Configuration for Delaying Response to Failed Authentication | 2.01.0 | ||||
99 | KIP- | 270 - A Scala Wrapper Library for Kafka Streams305: Add Connect primitive number converters | 2.0.0 | |||
100 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade303: Add Dynamic Routing in Streams Sink | 2.0.0 | |||
101 | KIP- | 267: Add Processor Unit Test Support to Kafka Streams Test Utils302 - Enable Kafka clients to use all DNS resolved IP addresses | 2.1 | 2.0.0 | ||
102 | KIP-266: Fix consumer indefinite blocking behavior300: Add Windowed KTable API in StreamsBuilder | 2.04.0 | ||||
103 | KIP- | 265: Make Windowed Serde to public APIs298: Error Handling in Connect | 2.0.0 | |||
104 | KIP- | 261: Add Single Value Fetch in Window Stores297: Externalizing Secrets for Connect Configurations | 2.0.0 | |||
105 | KIP-258: Allow to Store Record Timestamps in RocksDB295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.30.0 (partially implemented) | ||||
106 | KIP- | 257 - Configurable Quota Management294 - Enable TLS hostname verification by default | 2.0.0 | |||
107 | Accepted | |||||
108 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER292: Add transformValues() method to KTable | 2.0.0 | ||||
108109 | KIP- | 251: Allow timestamp manipulation in Processor API290: Support for Prefixed ACLs | 2.0.0 | |||
109110 | KIP- | 249: Add Delegation Token Operations to KafkaAdminClient289: Improve the default group id behavior in KafkaConsumer | 2. | 02.0 | 110KIP-247: Add public test utils for Kafka Streams | |
1.1.0 | 111 | KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor285: Connect Rest Extension Plugin | 2.0.0 | |||
112 | KIP-244: Add Record Header support to Kafka Streams Processor API284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2.0.0 | ||||
113 | KIP- | 243: Make ProducerConfig and ConsumerConfig constructors public283: Efficient Memory Usage for Down-Conversion | 2.0 | 1.1.0 | ||
114 | KIP- | 239 Add queryableStoreName() to GlobalKTable282: Add the listener name to the authentication context | 2.0 | 1.1.0 | ||
115 | KIP- | 238: Expose Kafka cluster ID in Connect REST API281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2.0 | 1.1.0 | ||
116 | KIP-237: More Controller Health Metrics279: Fix log divergence between leader and follower after fast leader fail over | 2.0.0 | ||||
117 | KIP-278 - 235: Add DNS alias support for secured connectionAdd version option to Kafka's commands | 2.10.0 | ||||
118 | KIP- | 233: Simplify StreamsBuilder#addGlobalStore277 - Fine Grained ACL for CreateTopics API | 2.0 | 1.1.0 | ||
119 | KIP | -231: Improve the Required ACL of ListGroups API-276 - Add StreamsConfig prefix for different consumers | 2. | 10.0 | ||
120 | KIP-229: DeleteGroups API274: Kafka Streams Skipped Records Metrics | 2.01.1.0 | ||||
121 | KIP- | 227 - Introduce Incremental FetchRequests to Increase Partition Scalability272: Add API version tag to broker's RequestsPerSec metric | 2.0 | 1.1.0 | ||
122 | KIP- | 226 - Dynamic Broker Configuration270 - A Scala Wrapper Library for Kafka Streams | 2.0 | 1.1.0 | ||
123 | KIP-225 - Use tags for consumer “records.lag” metrics268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2.01.1.0 | ||||
124 | KIP-224267: Add configuration parameter `retries` to Streams APIProcessor Unit Test Support to Kafka Streams Test Utils | 2.01.1.0 | ||||
125 | KIP- | 223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer266: Fix consumer indefinite blocking behavior | 2.0.0 | |||
126 | KIP-222 - Add Consumer Group operations to Admin API265: Make Windowed Serde to public APIs | 2.0.0 | ||||
127 | KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint261: Add Single Value Fetch in Window Stores | 2.40.0 (WIP) | ||||
128 | KIP- | 220: Add AdminClient into Kafka Streams' ClientSupplier258: Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | 1.1.0|||
129 | KIP-219 - Improve quota communication257 - Configurable Quota Management | 2.0.0 | ||||
130 | KIP- | 218: Make KafkaFuture.Function java 8 lambda compatible255: OAuth Authentication via SASL/OAUTHBEARER | 2.0 | 1.1.0 | ||
131 | KIP-215: Add topic regex support for Connect sinks251: Allow timestamp manipulation in Processor API | 2.01.1.0 | ||||
132 | KIP-214249: Add zookeeper.max.in.flight.requests config to the brokerDelegation Token Operations to KafkaAdminClient | 2.01.1.0 | ||||
133 | KIP- | 213 Support non-key joining in KTable247: Add public test utils for Kafka Streams | 1.1.0 | 2.4.0 (WIP)|||
134 | KIP-212: Enforce set of legal characters for connector names245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.01.1.0 | ||||
135 | KIP- | 211: Revise Expiration Semantics of Consumer Group Offsets244: Add Record Header support to Kafka Streams Processor API | 2. | 10.0 | ||
136 | KIP-243: Make ProducerConfig and ConsumerConfig constructors public | 1.1.0 | ||||
137 | KIP-239 Add queryableStoreName() to GlobalKTable210 - Provide for custom error handling when Kafka Streams fails to produce | 1.1.0 | ||||
137138 | KIP-208: Add SSL support to Kafka 238: Expose Kafka cluster ID in Connect REST interfaceAPI | 1.1.0 | ||||
138139 | KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change237: More Controller Health Metrics | 2.20.0 | 139||||
140 | KIP-206235: Add DNS alias support for UUID serialization and deserializationsecured connection | 2.1.0 | ||||
140141 | KIP-205: Add all() and range() API to ReadOnlyWindowStore233: Simplify StreamsBuilder#addGlobalStore | 1.1.0 | ||||
141142 | KIP- | 204 : Adding records deletion operation to the new Admin Client API231: Improve the Required ACL of ListGroups API | 2 | 1.1.0 | ||
142143 | KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule 229: DeleteGroups API | 1.1.0 | ||||
143144 | KIP-202: Move merge() from StreamsBuilder to KStream-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.01.0 | ||||
144145 | KIP-198: Remove ZK dependency from Streams Reset Tool226 - Dynamic Broker Configuration | 1.0.0 | 145 | KIP-197 Connect REST API should include the connector type when describing a connector | 1.0.0 | |
146 | KIP-196: Add metrics to Kafka Connect framework-225 - Use tags for consumer “records.lag” metrics | 1.01.0 | ||||
147 | KIP-195: AdminClient.createPartitions224: Add configuration parameter `retries` to Streams API | 1.01.0 | ||||
148 | KIP-192 : Provide cleaner semantics when idempotence is enabled223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 21.0.0 | ||||
149 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern-222 - Add Consumer Group operations to Admin API | 21.0.0 | ||||
150 | KIP-190: Handle client-ids consistently between clients and brokers221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)1.0.0 | ||||
151 | KIP-189: Improve principal builder interface and add support for SASL220: Add AdminClient into Kafka Streams' ClientSupplier | 1.01.0 | ||||
152 | KIP-188 - Add new metrics to support health checks219 - Improve quota communication | 21.0.0 | ||||
153 | KIP-187 - Add cumulative count metric for all Kafka rate metrics218: Make KafkaFuture.Function java 8 lambda compatible | 1.01.0 | ||||
154 | KIP-186: Increase offsets retention default to 7 days215: Add topic regex support for Connect sinks | 1.12.0.0 | ||||
155 | KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient214: Add zookeeper.max.in.flight.requests config to the broker | 1.1.2.2.0 | ||||
156 | KIP | -182: Reduce Streams DSL overloads and allow easier use of custom storage engines-213 Support non-key joining in KTable | 2.4.0 (WIP) | 1.0.0|||
157 | KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress212: Enforce set of legal characters for connector names | 1.1.0 | ||||
158 | KIP-177211: Consumer perf tool should count rebalance timeRevise Expiration Semantics of Consumer Group Offsets | 2.11.0.0 | ||||
159 | KIP- | 176: Remove deprecated new-consumer option for tools210 - Provide for custom error handling when Kafka Streams fails to produce | 1.1 | 2.0.0 | ||
160 | KIP-175: Additional '--describe' views for ConsumerGroupCommand208: Add SSL support to Kafka Connect REST interface | 1.1.0 | ||||
161 | KIP-174 - Deprecate and remove internal converter configs in WorkerConfig207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.02.0 | ||||
162 | KIP- | 173: Add prefix to StreamsConfig to enable setting default internal topic configs206: Add support for UUID serialization and deserialization | 2.1 | 1.0.0 | ||
163 | KIP-171 - Extend Consumer Group Reset Offset for Stream Application205: Add all() and range() API to ReadOnlyWindowStore | 1.1.0 | ||||
164 | KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster204 : Adding records deletion operation to the new Admin Client API | 1.01.0 | ||||
165 | KIP-167203: Add interface for the state store restoration processtoLowerCase support to sasl.kerberos.principal.to.local rule | 1.1.1.0.0 | ||||
166 | KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics202: Move merge() from StreamsBuilder to KStream | 1.0.0 | ||||
167 | KIP- | 163: Lower the Minimum Required ACL Permission of OffsetFetch198: Remove ZK dependency from Streams Reset Tool | 1.0.0 | |||
168 | KIP-162: Enable topic deletion by default197 Connect REST API should include the connector type when describing a connector | 1.0.0 | ||||
169 | KIP-161: streams deserialization exception handlers196: Add metrics to Kafka Connect framework | 1.0.0 | ||||
170 | KIP-160195: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed stringAdminClient.createPartitions | 1.0.0 | ||||
171 | KIP- | 157 - Add consumer config options to streams reset tool192 : Provide cleaner semantics when idempotence is enabled | 1.0.0 | |||
172 | KIP- | 156 Add option "dry run" to Streams application reset tool191: KafkaConsumer.subscribe() overload that takes just Pattern | 1 | 0.11.0.0 | ||
173 | KIP- | 155 - Add range scan for windowed state stores190: Handle client-ids consistently between clients and brokers | 1. | 0.11.0.0 | ||
174 | KIP-154 Add Kafka Connect configuration properties for creating internal topics189: Improve principal builder interface and add support for SASL | 10.11.0.0 | ||||
175 | KIP-153: Include only client traffic in BytesOutPerSec metric-188 - Add new metrics to support health checks | 1.0.11.0.0 | ||||
176 | KIP-152 - Improve diagnostics for SASL authentication failures187 - Add cumulative count metric for all Kafka rate metrics | 1.0.0 | ||||
177 | KIP-151 Expose Connector type in REST API186: Increase offsets retention default to 7 days | 20.11.0.0 | ||||
178 | KIP-150 - Kafka-Streams Cogroup183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.4.0 (WIP)2.0 | ||||
179 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.0.01.1.0 (partially implemented) (WIP for 2.4.0) | ||||
180 | KIP-146 - Classloading Isolation in Connect180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.1.00.11.0.0 | ||||
181 | KIP-145 - Expose Record Headers in Kafka Connect177: Consumer perf tool should count rebalance time | 1.10.0 | ||||
182 | KIP- | 144: Exponential backoff for broker reconnect attempts176: Remove deprecated new-consumer option for tools | 2 | 0.11.0.0 | ||
183 | KIP-143: Controller Health Metrics175: Additional '--describe' views for ConsumerGroupCommand | 1.10.11.0.0 | ||||
184 | KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs174 - Deprecate and remove internal converter configs in WorkerConfig | 20.11.0.0 | ||||
185 | KIP-138: Change punctuate semantics173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1.0.0 | ||||
186 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion171 - Extend Consumer Group Reset Offset for Stream Application | 1.10.11.0.0 | ||||
187 | KIP-136168: Add Listener name to SelectorMetrics tagsGlobalTopicCount and GlobalPartitionCount metric per cluster | 10.11.0.0 | ||||
188 | KIP-134: Delay initial consumer group rebalance167: Add interface for the state store restoration process | 10.11.0.0 | ||||
189 | 133: Describe and Alter Configs Admin APIs 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 1.0.11.0.0 | ||||
190 | 130: Expose states of active tasks to KafkaStreams public API | 1.0.0 | ||||
191 | KIP-129: Streams Exactly-Once Semantics162: Enable topic deletion by default | 1.0.11.0.0 | ||||
192 | KIP-128: Add ByteArrayConverter for Kafka Connect161: streams deserialization exception handlers | 10.11.0.0 | ||||
193 | KIP-126 - Allow KafkaProducer to split and resend oversized batches.160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 10.11.0.0 | ||||
194 | KIP- | 124 - Request rate quotas157 - Add consumer config options to streams reset tool | 1. | 0.11.0.0 | ||
195 | KIP- | 123: Allow per stream/table timestamp extractor156 Add option "dry run" to Streams application reset tool | 0.11.0.0 | |||
196 | KIP-155 - | 122: Add Reset Consumer Group Offsets toolingAdd range scan for windowed state stores | 0.11.0.0 | |||
197 | KIP-121: Add KStream peek method154 Add Kafka Connect configuration properties for creating internal topics | 0.11.0.0 | ||||
198 | KIP-120: Cleanup Kafka Streams builder API153: Include only client traffic in BytesOutPerSec metric | 0.111.0.0 | ||||
199 | KIP-152 - Improve diagnostics for SASL authentication failures | 1.0.0119: Drop Support for Scala 2.10 in Kafka 0.110.11.0.0 | ||||
200 | KIP-118: Drop Support for Java 7151 Expose Connector type in REST API | 0.112.0.0 | ||||
201 | KIP-117: Add a public AdminClient API for Kafka admin operations150 - Kafka-Streams Cogroup | 2.4.0 (WIP)0.11.0.0 | ||||
202 | KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.11.0.0 | 149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0) | ||
203 | KIP-146 - Classloading Isolation in Connect | 203 | KIP-114: KTable state stores and improved semantics | 0.11.0.0 | ||
204 | KIP-113: Support replicas movement between log directories145 - Expose Record Headers in Kafka Connect | 1.1.0 | ||||
205 | KIP-112: Handle disk failure for JBOD144: Exponential backoff for broker reconnect attempts | 0.111.0.0 | ||||
206 | KIP- | 110: Add Codec for ZStandard Compression143: Controller Health Metrics | 0.11.0 | 2.1.0 | ||
207 | KIP-109: Old Consumer Deprecation140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.11.0.0 | ||||
208 | KIP-108: Create Topic Policy138: Change punctuate semantics | 1.0.0.10.2.0 | ||||
209 | KIP-107: Add deleteRecordsBefore() API in AdminClient137: Enhance TopicCommand --describe to show topics marked for deletion | 0.11.0.0 | ||||
210 | KIP-106 - Change Default unclean.leader.election.enabled from True to False136: Add Listener name to SelectorMetrics tags | 0.11.0.0 | ||||
211 | KIP-105: Addition of Record Level for Sensors134: Delay initial consumer group rebalance | 0.1011.20.0 | ||||
212 | KIP-104: Granular Sensors for Streams 133: Describe and Alter Configs Admin APIs | 0.1011.20.0 | ||||
213 | KIP- | 103130: | Separation of Internal and External traffic0.10.2Expose states of active tasks to KafkaStreams public API | 1.0.0 | ||
214 | KIP-102 - Add close with timeout for consumers129: Streams Exactly-Once Semantics | 0.1011.20.0 | ||||
215 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation128: Add ByteArrayConverter for Kafka Connect | 0.11.0.0 | ||||
216 | KIP-100 - Relax Type constraints in Kafka Streams API126 - Allow KafkaProducer to split and resend oversized batches. | 0.1011.20.0 | ||||
217 | KIP-99: Add Global Tables to Kafka Streams-124 - Request rate quotas | 0.1011.20.0 | ||||
218 | KIP-98 - Exactly Once Delivery and Transactional Messaging123: Allow per stream/table timestamp extractor | 0.11.0.0 | ||||
219 | KIP-97: Improved Kafka Client RPC Compatibility Policy122: Add Reset Consumer Group Offsets tooling | 0.1011.20.0 | ||||
220 | KIP-96 - Add per partition metrics for in-sync and assigned replica count121: Add KStream peek method | 0. 1011. 20.0 | ||||
221 | KIP-94 Session Windows120: Cleanup Kafka Streams builder API | 1.00.10.2.0 | ||||
222 | KIP-93: Improve invalid timestamp handling in Kafka Streams119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.1011.20.0 | ||||
223 | KIP-92 - Add per partition lag metrics to KafkaConsumer118: Drop Support for Java 7 | 2.0.0.10.2.0 | ||||
224 | KIP-91 Provide Intuitive User Timeouts in The Producer117: Add a public AdminClient API for Kafka admin operations | 0.11.02.1.0 | ||||
225 | KIP-90 - Remove zkClient dependency from Streams115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.1011.20.0 | ||||
226 | KIP-89: Allow sink connectors to decouple flush and offset commit114: KTable state stores and improved semantics | 0.1011.20.0 | ||||
227 | KIP-88: OffsetFetch Protocol Update113: Support replicas movement between log directories | 1.1.0.10.2.0 | ||||
228 | KIP-86: Configurable SASL callback handlers112: Handle disk failure for JBOD | 12.0.0 | ||||
229 | KIP- | 85: Dynamic JAAS configuration for Kafka clients110: Add Codec for ZStandard Compression | 2.1 | 0.10.2.0 | ||
230 | KIP-84: Support SASL SCRAM mechanisms109: Old Consumer Deprecation | 0.1011.20.0 | ||||
231 | KIP-82 - Add Record Headers108: Create Topic Policy | 0.1110.02.0 | ||||
232 | KIP-81: Bound Fetch memory usage in the consumer107: Add deleteRecordsBefore() API in AdminClient | 0.11.0.02.4.0 (WIP) | ||||
233 | 79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer 106 - Change Default unclean.leader.election.enabled from True to False | 0.1011.10.0 | ||||
234 | KIP-78: Cluster Id105: Addition of Record Level for Sensors | 0.10.12.0 | ||||
235 | KIP-77: Improve Kafka Streams Join Semantics104: Granular Sensors for Streams | 0.10.2.0 | ||||
236 | KIP-75 - Add per-connector Converters103: Separation of Internal and External traffic | 0.10.12.0 | ||||
237 | KIP-102 - 74: Add Fetch Response Size Limit in BytesAdd close with timeout for consumers | 0.10.12.0 | ||||
238 | KIP-101 - 73: Replication QuotasAlter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.1011.10.0 | ||||
239 | KIP-72: Allow putting a bound on memory consumed by Incoming request 100 - Relax Type constraints in Kafka Streams API | 0.10.21.0.0 | ||||
240 | KIP-71: Enable log compaction and deletion to co-exist99: Add Global Tables to Kafka Streams | 0.10.12.0 | ||||
241 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change98 - Exactly Once Delivery and Transactional Messaging | 0.11.00.10.1.0 | ||||
242 | KIP-6797: Queryable state for Kafka StreamsImproved Kafka Client RPC Compatibility Policy | 0.10.12.0 | ||||
243 | KIP-66: Single Message Transforms for Kafka Connect96 - Add per partition metrics for in-sync and assigned replica count | 0.10.2.0 / 0.11.0.0 | ||||
244 | KIP-65: Expose timestamps to Connect94 Session Windows | 0.10.12.0 | ||||
245 | KIP-63: Unify store and downstream caching in streams93: Improve invalid timestamp handling in Kafka Streams | 0.10.12.0 | ||||
246 | KIP-62: Allow consumer to send heartbeats from a background thread92 - Add per partition lag metrics to KafkaConsumer | 0.10.12.0 | ||||
247 | KIP-60 - Make Java client classloading more flexible91 Provide Intuitive User Timeouts in The Producer | 2.10.10.1.0 | ||||
248 | KIP-58 - Make Log Compaction Point Configurable90 - Remove zkClient dependency from Streams | 0.10.12.0 | ||||
249 | KIP-57 - Interoperable LZ4 Framing89: Allow sink connectors to decouple flush and offset commit | 0.10.02.0 | ||||
250 | KIP-56: Allow cross origin HTTP requests on all HTTP methods88: OffsetFetch Protocol Update | 0.10.02.0 | ||||
251 | KIP-55: Secure Quotas for Authenticated Users86: Configurable SASL callback handlers | 2.0.0.10.1.0 | ||||
252 | KIP-54: Sticky Partition Assignment Strategy85: Dynamic JAAS configuration for Kafka clients | 0.1110.02.0 | ||||
253 | KIP-52: Connector Control APIs84: Support SASL SCRAM mechanisms | 0.10.02.0 | ||||
254 | KIP-51 - List Connectors REST API82 - Add Record Headers | 0.1011.0.0 | ||||
255 | KIP-81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP)50 - Move Authorizer to o.a.k.common package0.10.1.0 | ||||
256 | KIP-48 Delegation token support for Kafka-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.101.1.0 | ||||
257 | KIP-45 - Standardize all client sequence interaction on j.u.Collection.78: Cluster Id | 0.10.01.0 | ||||
258 | KIP-4377: Improve Kafka SASL enhancementsStreams Join Semantics | 0.10.02.0 | ||||
259 | KIP-75 - 42: Add Producer and Consumer InterceptorsAdd per-connector Converters | 0.10.01.0 | ||||
260 | KIP-41: Consumer Max Records74: Add Fetch Response Size Limit in Bytes | 0.10.01.0 | ||||
261 | KIP-40: ListGroups and DescribeGroup73: Replication Quotas | 0.910.01.0 | ||||
262 | KIP-38: ZooKeeper Authentication72: Allow putting a bound on memory consumed by Incoming request | 10.9.0.0 | ||||
263 | KIP-36 - Rack aware replica assignment71: Enable log compaction and deletion to co-exist | 0.10.01.0 | ||||
264 | KIP-35 - Retrieving protocol version70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.01.0 | ||||
265 | KIP-33 - Add a time based log index67: Queryable state for Kafka Streams | 0.10.1.0 | ||||
266 | KIP-32 - Add timestamps to Kafka message66: Single Message Transforms for Kafka Connect | 0.10.2.0 / 0.11.0.0 | ||||
267 | KIP-31 - Move to relative offsets in compressed message sets65: Expose timestamps to Connect | 0.10.01.0 | ||||
268 | KIP-28 - Add a processor client63: Unify store and downstream caching in streams | 0.10.01.0 | ||||
269 | KIP-26 - Add Kafka Connect framework for data import/export62: Allow consumer to send heartbeats from a background thread | 0.910.01.0 | ||||
270 | KIP-25 - System test improvements60 - Make Java client classloading more flexible | 0.910.01.0 | ||||
271 | KIP-22 - Expose a Partitioner interface in the new producer58 - Make Log Compaction Point Configurable | 0.910.01.0 | ||||
272 | KIP-21 - Dynamic Configuration57 - Interoperable LZ4 Framing | 0.910.0.0 (WIP) | ||||
273 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system56: Allow cross origin HTTP requests on all HTTP methods | 0.910.0.0 | ||||
274 | KIP-19 - Add a request timeout to NetworkClient55: Secure Quotas for Authenticated Users | 0.910.01.0 | ||||
275 | KIP-16 - Automated Replica Lag Tuning54: Sticky Partition Assignment Strategy | 0.911.0.0 | ||||
276 | KIP-15 - Add a close method with a timeout in the producer52: Connector Control APIs | 0.910.0.0 | ||||
277 | KIP-13 - Quota Design51 - List Connectors REST API | 0.910.0.0 | ||||
278 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation48 Delegation token support for Kafka | 1.10.9.0.0 | ||||
279 | KIP-11 - Kafka Authorizer design45 - Standardize all client sequence interaction on j.u.Collection. | 0.910.0.0 | ||||
280 | KIP-8 - Add a flush method to the producer API43: Kafka SASL enhancements | 0.910.0.0 | ||||
281 | KIP-4 - Metadata Protocol Changes42: Add Producer and Consumer Interceptors | 0.10.0.0 | ||||
282 | KIP-41: Consumer Max Records | 0.10.0.0 | ||||
283 | KIP-40: ListGroups and DescribeGroup4 - Command line and centralized administrative operations | 0.9.0.0 | ||||
284 | KIP-38: ZooKeeper Authentication | , 0.109.0.0 | ||||
285 | KIP-36 - Rack aware replica assignment | , 0.10.10.0 | ||||
283286 | KIP-3 - Mirror Maker Enhancement35 - Retrieving protocol version | 0.910.0.0 | ||||
284287 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs33 - Add a time based log index | 0.910.01.0 | ||||
285288 | KIP-1 - Remove support of request.required.acks32 - Add timestamps to Kafka message | 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
...