...
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: 498527
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-465: Add Consolidated Connector Endpoint to Connect REST API503: Add metric for number of topics marked for deletion | 2.34.0 (WIP) | ||||
5 | KIP-464: Defaults for AdminClient#createTopic497: Add inter-broker API to alter ISR | 2.4.0 (WIP) | ||||
6 | KIP-462: Use local thread id for KStreams496: Administrative API to delete consumer offsets | 2.34.0 (WIP) | ||||
7 | KIP- | 461: Improve Replica Fetcher behavior at handling partition failure495: Dynamically Adjust Log Levels in Connect | 2. | 34.0 (WIP) | ||
8 | KIP- | 460: Admin Leader Election RPC488: Clean up Sum,Count,Total Metrics | 2.4.0 | |||
9 | KIP- | 458: Connector Client Config Override Policy484: Expose metrics for group and transaction metadata loading duration | 2. | 34.0 (WIP) | ||
10 | KIP-455: Create an Administrative API for Replica Reassignment481: SerDe Improvements for Connect Decimal type in JSON | 2.4.0 (WIP) | ||||
11 | KIP- | 454: Expansion of the ConnectClusterState interface480: Sticky Partitioner | 2. | 34.0 | ||
12 | KIP- | 453479: Add | close() method to RocksDBConfigSetterMaterialized to Join | 2. | 34.0(WIP) | |
13 | KIP- | 449476: Add | connector contexts to log messages in Connect workersJava AdminClient Interface | 2. | 34.0 | |
14 | KIP- | 446: Add changelog topic configuration to KTable suppress475: New Metrics to Measure Number of Tasks on a Connector | 2.4.0 (WIP) | |||
15 | KIP- | 445: In-memory Session Store474: To deprecate WindowStore#put(key, value) | 2. | 34.0 (WIP) | ||
16 | KIP- | 443: Return to default segment.ms and segment.index.bytes in Streams repartition topics471: Expose RocksDB Metrics in Kafka Streams | 2. | 34.0 (WIP) | ||
17 | KIP-442: Return to default max poll interval in Streams467: Augment ProduceResponse error messaging for specific culprit records | 2.34.0 (WIP) | ||||
18 | KIP-436465: Add a metric indicating start timeConsolidated Connector Endpoint to Connect REST API | 2.3.0 | ||||
19 | KIP-430 - Return Authorized Operations in Describe Responses464: Defaults for AdminClient#createTopic | 2.34.0 | ||||
20 | KIP-429: Kafka Consumer Incremental Rebalance Protocol462: Use local thread id for KStreams | 2.43.0 (WIP) | ||||
21 | KIP- | 428: Add in-memory window store461: Improve Replica Fetcher behavior at handling partition failure | 2.3.0 | |||
22 | KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)460: Admin Leader Election RPC | 2.34.0 | ||||
23 | KIP- | 425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers458: Connector Client Config Override Policy | 2.3.0 | |||
24 | KIP-421: Support resolving externalized secrets in AbstractConfig455: Create an Administrative API for Replica Reassignment | 2.34.0 (WIP) | ||||
25 | KIP- | 420: Add Single Value Fetch in Session Stores454: Expansion of the ConnectClusterState interface | 2. | 23.0 | ||
26 | KIP- | 417: Allow JmxTool to connect to a secured RMI port453: Add close() method to RocksDBConfigSetter | 2.3.0 | |||
27 | KIP-415: Incremental Cooperative Rebalancing in Kafka Connect449: Add connector contexts to log messages in Connect workers | 2.3.0 | ||||
28 | KIP-414: Expose Embedded ClientIds in Kafka Streams446: Add changelog topic configuration to KTable suppress | 2.24.0 (WIP) | ||||
29 | KIP- | 412: Extend Admin API to support dynamic application log levels445: In-memory Session Store | 2. | 43.0 | (WIP)||
30 | 411 | Make default Kafka Connect worker task client IDs distinct | 2.3.0 | |||
31 | KIP-402: Improve fairness in SocketServer processors442: Return to default max poll interval in Streams | 2.2.2.0 (partially implemented) / 2.3.0 | ||||
32 | KIP-394: Require member.id for initial join group request440: Extend Connect Converter to support headers | 2.4.0 (WIP)2.2.0 | ||||
33 | KIP-393: Time windowed serde to properly deserialize changelog input topic436: Add a metric indicating start time | 2.23.0 | ||||
34 | KIP-386: Standardize on Min/Avg/Max metrics' default value434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.24.0 (WIP) | ||||
35 | KIP-382: MirrorMaker 2.0430 - Return Authorized Operations in Describe Responses | 2.43.0 (WIP) | ||||
36 | KIP-380: Detect outdated control requests and bounced brokers using broker generation429: Kafka Consumer Incremental Rebalance Protocol | 2.24.0 (WIP) | ||||
37 | KIP- | 377: TopicCommand to use AdminClient428: Add in-memory window store | 2. | 23.0 | ||
38 | KIP- | 376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2. | 23.0 | ||
39 | KIP-374425: Add '--help' option to all available Kafka CLI commandssome Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.23.0 | ||||
40 | KIP-372: Naming Repartition Topics for Joins and Grouping421: Support resolving externalized secrets in AbstractConfig | 2.13.0 | ||||
41 | KIP-371420: Add a configuration to build custom SSL principal nameSingle Value Fetch in Session Stores | 2.2.0 | ||||
42 | KIP 368-417: Allow SASL Connections to Periodically Re-AuthenticateJmxTool to connect to a secured RMI port | 2.23.0 | ||||
43 | KIP- | 367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)415: Incremental Cooperative Rebalancing in Kafka Connect | 2. | 23.0 | ||
44 | KIP- | 366: Make FunctionConversions deprecated414: Expose Embedded ClientIds in Kafka Streams | 2. | 12.0 | ||
45 | KIP- | 365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde412: Extend Admin API to support dynamic application log levels | 2. | 14.0 (WIP) | ||
46 | KIP361: Add Consumer Configuration to Disable Auto Topic Creation | 2.3.0 | ||||
47 | KIP-359: Verify leader epoch in produce requests402: Improve fairness in SocketServer processors | 2.42.0 (WIP)partially implemented) / 2.3.0 | ||||
48 | KIP-358: Migrate Streams API to Duration instead of long ms times401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.4.0 (WIP)2.1.0 | ||||
49 | KIP- | 357396: Add | support to list ACLs per principalCommit/List Offsets Operations to AdminClient | 2. | 14.0 (WIP) | |
50 | KIP-356: Add withCachingDisabled() to StoreBuilder394: Require member.id for initial join group request | 2.12.0 | ||||
51 | KIP-354: Add a Maximum Log Compaction Lag393: Time windowed serde to properly deserialize changelog input topic | 2.32.0 | ||||
52 | KIP- | 353: Improve Kafka Streams Timestamp Synchronization389: Introduce a configurable consumer group size limit | 2. | 12.0 | ||
53 | KIP-351: Add --under-min-isr option to describe topics command386: Standardize on Min/Avg/Max metrics' default value | 2.32.0 | ||||
54 | KIP-346: Improve LogCleaner behavior on error382: MirrorMaker 2.0 | 2.4.10 | ||||
55 | 345: Introduce static membership protocol to reduce consumer rebalances | 2.4.0 (WIP) | , partially available in 2.3.0||||
56 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication380: Detect outdated control requests and bounced brokers using broker generation | 2.12.0 | ||||
57 | KIP-341: Update Sticky Assignor's User Data Protocol377: TopicCommand to use AdminClient | 2.32.0 | ||||
58 | KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.22.1.0 | ||||
59 | KIP-339: Create a new IncrementalAlterConfigs API374: Add '--help' option to all available Kafka CLI commands | 2.32.0 0 | ||||
60 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command372: Naming Repartition Topics for Joins and Grouping | 2.1.0 | ||||
61 | KIP- | 336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer371: Add a configuration to build custom SSL principal name | 2. | 12.0 | ||
62 | KIP-332369: Update AclCommand to use AdminClient APIAlternative Partitioner to Support "Always Round-Robin" Selection | 2.14.0 | ||||
63 | KIP | -331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde368: Allow SASL Connections to Periodically Re-Authenticate | 2. | 32.0 | ||
64 | KIP-330: Add retentionPeriod in SessionBytesStoreSupplier367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.12.0 | ||||
65 | KIP- | 328: Ability to suppress updates for KTables366: Make FunctionConversions deprecated | 2.1.0 | (partially implemented) / 2.3.0 (WIP)|||
66 | KIP-324: Add method to get metrics() in AdminClient365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2.1.0 | ||||
67 | KIPKIP- | 322: Return new error code for DeleteTopics API when topic deletion disabled.361: Add Consumer Configuration to Disable Auto Topic Creation | 2. | 13.0 | ||
68 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes360: Improve handling of unknown producer | 2.14.0 (WIP) | ||||
69 | KIP-320: Allow fetchers to detect and handle log truncation359: Verify leader epoch in produce requests | 2.14.0 (partially implemented) / 2.2.0WIP) | ||||
70 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier358: Migrate Streams API to Duration instead of long ms times | 2.1.0 | ||||
71 | KIP- | 313357: Add | KStream.flatTransform and KStream.flatTransformValuessupport to list ACLs per principal | 2. | 21.0 | |
72 | KIP-356: Add withCachingDisabled() to StoreBuilder | 2.1 (partially implemented)/ 2.3.0 | ||||
7273 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties354: Add a Maximum Log Compaction Lag | 2.3.0 | ||||
74 | KIP-353: Improve Kafka Streams Timestamp Synchronization | 2.1.0 | 73||||
75 | KIP- | 308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides352: Distinguish URPs caused by reassignment | 2. | 14.0 (WIP) | ||
7476 | KIP-307: Allow to define custom processor names with KStreams DSL351: Add --under-min-isr option to describe topics command | 2.3.0 (partial) | ||||
77 | KIP-306: Configuration for Delaying Response to Failed Authentication346: Improve LogCleaner behavior on error | 2.1.0 | 76||||
78 | KIP- | 305: Add Connect primitive number converters345: Introduce static membership protocol to reduce consumer rebalances | 2. | 0.077 | KIP-303: Add Dynamic Routing in Streams Sink | 2.04.0 (WIP), partially available in 2.3.0 | 78
79 | KIP-302 - Enable Kafka clients to use all DNS resolved IP addresses | 2.1.0 | 79 | KIP-300: Add Windowed KTable API in StreamsBuilder | 342 Add support for custom SASL extensions in OAuthBearer authentication | 2.12.4.0 |
80 | KIP-298: Error Handling in Connect341: Update Sticky Assignor's User Data Protocol | 2.03.0 | ||||
81 | KIP-297: Externalizing Secrets for Connect Configurations340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.01.0 | ||||
82 | KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization339: Create a new IncrementalAlterConfigs API | 2.03.00 | ||||
83 | KIP-294 - Enable TLS hostname verification by default338 Support to exclude the internal topics in kafka-topics.sh command | 2.01.0 | ||||
84 | KIP-292: Add transformValues() method to KTable336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2.01.0 | ||||
85 | KIP- | 290: Support for Prefixed ACLs332: Update AclCommand to use AdminClient API | 2. | 01.0 | ||
86 | KIP-289: Improve the default group id behavior in KafkaConsumer331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.23.0 | ||||
87 | KIP- | 285: Connect Rest Extension Plugin330: Add retentionPeriod in SessionBytesStoreSupplier | 2. | 01.0 | ||
88 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE328: Ability to suppress updates for KTables | 2.1.0 (partially implemented) / 2.3.0 (WIP) | ||||
89 | KIP-283: Efficient Memory Usage for Down-Conversion324: Add method to get metrics() in AdminClient | 2.01.0 | ||||
90 | KIP- | 282: Add the listener name to the authentication context322: Return new error code for DeleteTopics API when topic deletion disabled. | 2. | 01.0 | ||
91 | KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User321: Update TopologyDescription to better represent Source and Sink Nodes | 2.01.0 | ||||
92 | KIP- | 279: Fix log divergence between leader and follower after fast leader fail over320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2. | 2.0.0 | ||
93 | KIP-278 - Add version option to Kafka's commands319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.01.0 | ||||
94 | KIP-277 - Fine Grained ACL for CreateTopics API313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3. 2.0.0 | ||||
95 | KIP- | 276 - Add StreamsConfig prefix for different consumers312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2. | 01.0 | ||
96 | KIP-274: Kafka Streams Skipped Records Metrics308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.01.0 | ||||
97 | KIP-272: Add API version tag to broker's RequestsPerSec metric307: Allow to define custom processor names with KStreams DSL | 2.03.0 (partial) | ||||
98 | KIP-270 - A Scala Wrapper Library for Kafka Streams306: Configuration for Delaying Response to Failed Authentication | 2.01.0 | ||||
99 | KIP-268: Simplify Kafka Streams Rebalance Metadata Upgrade305: Add Connect primitive number converters | 2.0.0 | ||||
100 | KIP- | 267303: Add | Processor Unit Test Support to Kafka Streams Test UtilsDynamic Routing in Streams Sink | 2.0.0 | ||
101 | KIP-266: Fix consumer indefinite blocking behavior-302 - Enable Kafka clients to use all DNS resolved IP addresses | 2.01.0 | ||||
102 | KIP- | 265300: | Make Windowed Serde to public APIsAdd Windowed KTable API in StreamsBuilder | 2. | 04.0 | |
103 | KIP- | 261: Add Single Value Fetch in Window Stores298: Error Handling in Connect | 2.0.0 | |||
104 | KIP-258: Allow to Store Record Timestamps in RocksDB297: Externalizing Secrets for Connect Configurations | 2.30.0 (partially implemented) | ||||
105 | KIP- | 257 - Configurable Quota Management295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0.0 | |||
106 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER294 - Enable TLS hostname verification by default | 2.0.0 | ||||
107 | 251: Allow timestamp manipulation in Processor API | Accepted2.0.0 | ||||
108 | KIP- | 249292: Add | Delegation Token Operations to KafkaAdminClienttransformValues() method to KTable | 2.0.0 | ||
109 | KIP- | 247: Add public test utils for Kafka Streams290: Support for Prefixed ACLs | 2.0 | 1.1.0 | ||
110 | KIP- | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor289: Improve the default group id behavior in KafkaConsumer | 2. | 02.0 | ||
111 | KIP- | 244: Add Record Header support to Kafka Streams Processor API285: Connect Rest Extension Plugin | 2.0.0 | |||
112 | KIP- | 243: Make ProducerConfig and ConsumerConfig constructors public284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2.0 | 1.1.0 | ||
113 | KIP- | 239 Add queryableStoreName() to GlobalKTable283: Efficient Memory Usage for Down-Conversion | 2.0 | 1.1.0 | ||
114 | KIP- | 238: Expose Kafka cluster ID in Connect REST API282: Add the listener name to the authentication context | 2.0 | 1.1.0 | ||
115 | KIP- | 237: More Controller Health Metrics281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2.0.0 | |||
116 | KIP- | 235: Add DNS alias support for secured connection279: Fix log divergence between leader and follower after fast leader fail over | 2. | 10.0 | ||
117 | KIP | -233: Simplify StreamsBuilder#addGlobalStore-278 - Add version option to Kafka's commands | 2.0 | 1.1.0 | ||
118 | KIP-231: Improve the Required ACL of ListGroups -277 - Fine Grained ACL for CreateTopics API | 2.10.0 | ||||
119 | KIP-229: DeleteGroups API276 - Add StreamsConfig prefix for different consumers | 2.01.1.0 | ||||
120 | KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability274: Kafka Streams Skipped Records Metrics | 2.01.1.0 | ||||
121 | KIP- | 226 - Dynamic Broker Configuration272: Add API version tag to broker's RequestsPerSec metric | 2.0 | 1.1.0 | ||
122 | KIP- | 225 - Use tags for consumer “records.lag” metrics270 - A Scala Wrapper Library for Kafka Streams | 2.0 | 1.1.0 | ||
123 | KIP-224: Add configuration parameter `retries` to Streams API268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2.01.1.0 | ||||
124 | KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.0.0 | ||||
125 | KIP- | 222 - Add Consumer Group operations to Admin API266: Fix consumer indefinite blocking behavior | 2.0.0 | |||
126 | KIP-220: Add AdminClient into Kafka Streams' ClientSupplier265: Make Windowed Serde to public APIs | 2.01.1.0 | ||||
127 | KIP-219 - Improve quota communication261: Add Single Value Fetch in Window Stores | 2.0.0 | ||||
128 | KIP- | 218: Make KafkaFuture.Function java 8 lambda compatible258: Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | 1.1.0|||
129 | KIP-215: Add topic regex support for Connect sinks-257 - Configurable Quota Management | 2.01.1.0 | ||||
130 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER | 2.0.0 | ||||
131 | KIP-251: Allow timestamp manipulation in Processor API | 2.0.0 | 214: Add zookeeper.max.in.flight.requests config to the broker1.1.0 | 131 | KIP-213 Support non-key joining in KTable | 2.4.0 (WIP)|
132 | KIP-212: Enforce set of legal characters for connector names249: Add Delegation Token Operations to KafkaAdminClient | 2.01.1.0 | ||||
133 | KIP-211: Revise Expiration Semantics of Consumer Group Offsets247: Add public test utils for Kafka Streams | 12.1.0 | ||||
134 | KIP-210 - Provide for custom error handling when Kafka Streams fails to produce245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.01.1.0 | ||||
135 | KIP- | 208244: Add | SSLRecord Header support to Kafka | Connect REST interface1.1Streams Processor API | 2.0.0 | |
136 | KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change243: Make ProducerConfig and ConsumerConfig constructors public | 1.12.2.0 | ||||
137 | KIP- | 206: Add support for UUID serialization and deserialization239 Add queryableStoreName() to GlobalKTable | 1 | 2.1.0 | ||
138 | KIP-205: Add all() and range() API to ReadOnlyWindowStore238: Expose Kafka cluster ID in Connect REST API | 1.1.0 | ||||
139 | KIP-204 : Adding records deletion operation to the new Admin Client API237: More Controller Health Metrics | 2.01.1.0 | ||||
140 | KIP- | 203235: Add | toLowerCase support to sasl.kerberos.principal.to.local ruleDNS alias support for secured connection | 2 | 1.1.0 | |
141 | KIP-202: Move merge() from StreamsBuilder to KStream233: Simplify StreamsBuilder#addGlobalStore | 1.01.0 | ||||
142 | KIP- | 198: Remove ZK dependency from Streams Reset Tool231: Improve the Required ACL of ListGroups API | 2.1 | 1.0.0 | ||
143 | KIP-197 Connect REST API should include the connector type when describing a connector229: DeleteGroups API | 1.01.0 | ||||
144 | KIP-196: Add metrics to Kafka Connect framework-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.01.0 | ||||
145 | KIP-195: AdminClient.createPartitions-226 - Dynamic Broker Configuration | 1.01.0 | ||||
146 | KIP-192 : Provide cleaner semantics when idempotence is enabled-225 - Use tags for consumer “records.lag” metrics | 1.01.0 | ||||
147 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern224: Add configuration parameter `retries` to Streams API | 1.01.0 | ||||
148 | KIP-190: Handle client-ids consistently between clients and brokers-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 21.0.0 | ||||
149 | KIP-189: Improve principal builder interface and add support for SASL222 - Add Consumer Group operations to Admin API | 21.0.0 | ||||
150 | KIP-188 - Add new metrics to support health checks221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)1.0.0 | ||||
151 | KIP-187 - Add cumulative count metric for all Kafka rate metrics220: Add AdminClient into Kafka Streams' ClientSupplier | 1.01.0 | ||||
152 | KIP-186: Increase offsets retention default to 7 days-219 - Improve quota communication | 2.0.0 | ||||
153 | KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient218: Make KafkaFuture.Function java 8 lambda compatible | 1.12.2.0 | ||||
154 | KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines215: Add topic regex support for Connect sinks | 1.01.0 | ||||
155 | KIP-180214: Add a broker metric specifying the number of consumer group rebalances in progresszookeeper.max.in.flight.requests config to the broker | 1.1.0 | ||||
156 | KIP- | 177: Consumer perf tool should count rebalance time213 Support non-key joining in KTable | 2.4.0 (WIP) | 1.0.0|||
157 | KIP- | 176: Remove deprecated new-consumer option for tools212: Enforce set of legal characters for connector names | 1.1 | 2.0.0 | ||
158 | KIP-175: Additional '--describe' views for ConsumerGroupCommand211: Revise Expiration Semantics of Consumer Group Offsets | 21.1.0 | ||||
159 | KIP-174 - Deprecate and remove internal converter configs in WorkerConfig210 - Provide for custom error handling when Kafka Streams fails to produce | 1.12.0.0 | ||||
160 | KIP-173208: Add prefix to StreamsConfig to enable setting default internal topic configsSSL support to Kafka Connect REST interface | 1.01.0 | ||||
161 | KIP-171 - Extend Consumer Group Reset Offset for Stream Application207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.21.1.0 | ||||
162 | KIP- | 168206: Add | GlobalTopicCount and GlobalPartitionCount metric per clustersupport for UUID serialization and deserialization | 2.1 | 1.0.0 | |
163 | KIP-167: Add interface for the state store restoration process205: Add all() and range() API to ReadOnlyWindowStore | 1.01.0 | ||||
164 | KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics204 : Adding records deletion operation to the new Admin Client API | 1.01.0 | ||||
165 | KIP- | 163: Lower the Minimum Required ACL Permission of OffsetFetch203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1. | 01.0 | ||
166 | KIP-162: Enable topic deletion by default202: Move merge() from StreamsBuilder to KStream | 1.0.0 | ||||
167 | KIP-161: streams deserialization exception handlers198: Remove ZK dependency from Streams Reset Tool | 1.0.0 | ||||
168 | KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string197 Connect REST API should include the connector type when describing a connector | 1.0.0 | ||||
169 | KIP- | 157 - Add consumer config options to streams reset tool196: Add metrics to Kafka Connect framework | 1.0.0 | |||
170 | KIP- | 156 Add option "dry run" to Streams application reset tool195: AdminClient.createPartitions | 1 | 0.11.0.0 | ||
171 | KIP- | 155 - Add range scan for windowed state stores192 : Provide cleaner semantics when idempotence is enabled | 1 | 0.11.0.0 | ||
172 | KIP-154 Add Kafka Connect configuration properties for creating internal topics191: KafkaConsumer.subscribe() overload that takes just Pattern | 10.11.0.0 | ||||
173 | KIP-153190: Include only client traffic in BytesOutPerSec metricHandle client-ids consistently between clients and brokers | 1.0.11.0.0 | ||||
174 | KIP-152 - Improve diagnostics 189: Improve principal builder interface and add support for SASL authentication failures | 1.0.0 | ||||
175 | KIP-151 Expose Connector type in REST API188 - Add new metrics to support health checks | 10.11.0.0 | ||||
176 | KIP-150 - Kafka-Streams Cogroup187 - Add cumulative count metric for all Kafka rate metrics | 1.0.02.4.0 (WIP) | ||||
177 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner186: Increase offsets retention default to 7 days | 2.0.01.1.0 (partially implemented) (WIP for 2.4.0) | ||||
178 | KIP-146 - Classloading Isolation in Connect183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.20.11.0.0 | ||||
179 | KIP-145 - Expose Record Headers in Kafka Connect182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.10.0 | ||||
180 | KIP-144: Exponential backoff for broker reconnect attempts180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.10.11.0.0 | ||||
181 | KIP-143: Controller Health Metrics177: Consumer perf tool should count rebalance time | 10.11.0.0 | ||||
182 | KIP- | 140: Add administrative RPCs for adding, deleting, and listing ACLs176: Remove deprecated new-consumer option for tools | 2. | 0.11.0.0 | ||
183 | KIP-138: Change punctuate semantics175: Additional '--describe' views for ConsumerGroupCommand | 1.01.0 | ||||
184 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion174 - Deprecate and remove internal converter configs in WorkerConfig | 20.11.0.0 | ||||
185 | KIP-136173: Add Listener name to SelectorMetrics tagsprefix to StreamsConfig to enable setting default internal topic configs | 10.11.0.0 | ||||
186 | KIP-134: Delay initial consumer group rebalance-171 - Extend Consumer Group Reset Offset for Stream Application | 1.10.11.0.0 | ||||
187 | KIP-133168: Describe and Alter Configs Admin APIsAdd GlobalTopicCount and GlobalPartitionCount metric per cluster | 10.11.0.0 | ||||
188 | KIP- | 130: Expose states of active tasks to KafkaStreams public API167: Add interface for the state store restoration process | 1.0.0 | |||
189 | -129: Streams Exactly-Once Semantics -164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 10.11.0.0 | ||||
190 | 128: Add ByteArrayConverter for Kafka Connect | 1 | 0.11.0.0 | |||
191 | KIP-126 - Allow KafkaProducer to split and resend oversized batches.162: Enable topic deletion by default | 10.11.0.0 | ||||
192 | KIP-124 - Request rate quotas161: streams deserialization exception handlers | 1.0.11.0.0 | ||||
193 | KIP-123: Allow per stream/table timestamp extractor160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 1.0.11.0.0 | ||||
194 | KIP-157 - | 122: Add Reset Consumer Group Offsets toolingAdd consumer config options to streams reset tool | 1 | 0.11.0.0 | ||
195 | KIP- | 121: Add KStream peek method156 Add option "dry run" to Streams application reset tool | 0.11.0.0 | |||
196 | KIP | -120: Cleanup Kafka Streams builder API-155 - Add range scan for windowed state stores | 0.11 | 1.0.0 | ||
197 | KIP-119: Drop Support for Scala 2.10 in Kafka 0.11154 Add Kafka Connect configuration properties for creating internal topics | 0.11.0.0 | ||||
198 | KIP-118: Drop Support for Java 7153: Include only client traffic in BytesOutPerSec metric | 0.112.0.0 | ||||
199 | KIP-117: Add a public AdminClient API for Kafka admin operations-152 - Improve diagnostics for SASL authentication failures | 1.0.11.0.0 | ||||
200 | KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation151 Expose Connector type in REST API | 0.11.0.0 | ||||
201 | KIP-114: KTable state stores and improved semantics150 - Kafka-Streams Cogroup | 2.4.0 (WIP)0.11.0.0 | ||||
202 | KIP-113: Support replicas movement between log directories149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0) | ||||
203 | KIP-112: Handle disk failure for JBOD-146 - Classloading Isolation in Connect | 0.11 1.0.0 | ||||
204 | KIP | -110: Add Codec for ZStandard Compression-145 - Expose Record Headers in Kafka Connect | 1 | 2.1.0 | ||
205 | KIP-109: Old Consumer Deprecation144: Exponential backoff for broker reconnect attempts | 0.11.0.0 | ||||
206 | KIP-108: Create Topic Policy143: Controller Health Metrics | 0.1011.20.0 | ||||
207 | KIP-107: Add deleteRecordsBefore() API in AdminClient140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.11.0.0 | ||||
208 | KIP-106 - Change Default unclean.leader.election.enabled from True to False138: Change punctuate semantics | 10.11.0.0 | ||||
209 | KIP-105: Addition of Record Level for Sensors137: Enhance TopicCommand --describe to show topics marked for deletion | 0.1011.20.0 | ||||
210 | KIP-104: Granular Sensors for Streams 136: Add Listener name to SelectorMetrics tags | 0.1011.20.0 | ||||
211 | KIP-103: Separation of Internal and External traffic134: Delay initial consumer group rebalance | 0.1011.20.0 | ||||
212 | KIP-102 - Add close with timeout for consumers133: Describe and Alter Configs Admin APIs | 0.1011.20.0 | ||||
213 | KIP- | 101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation130: Expose states of active tasks to KafkaStreams public API | 1. | 0.11.0.0 | ||
214 | KIP-100 - Relax Type constraints in Kafka Streams API129: Streams Exactly-Once Semantics | 0.1011.20.0 | ||||
215 | KIP-99128: Add Global Tables to Kafka StreamsByteArrayConverter for Kafka Connect | 0.1011.20.0 | ||||
216 | KIP-98 - Exactly Once Delivery and Transactional Messaging126 - Allow KafkaProducer to split and resend oversized batches. | 0.11.0.0 | ||||
217 | KIP-97: Improved Kafka Client RPC Compatibility Policy124 - Request rate quotas | 0.1011.20.0 | ||||
218 | KIP-96 - Add per partition metrics for in-sync and assigned replica count123: Allow per stream/table timestamp extractor | 0.1011.20.0 | ||||
219 | KIP-94 Session Windows122: Add Reset Consumer Group Offsets tooling | 0.1011.20.0 | ||||
220 | KIP-93: Improve invalid timestamp handling in Kafka Streams121: Add KStream peek method | 0. 1011. 20.0 | ||||
221 | KIP-92 - Add per partition lag metrics to KafkaConsumer120: Cleanup Kafka Streams builder API | 1.00.10.2.0 | ||||
222 | KIP-91 Provide Intuitive User Timeouts in The Producer119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.11.02.1.0 | ||||
223 | KIP-90 - Remove zkClient dependency from Streams118: Drop Support for Java 7 | 2.0.0.10.2.0 | ||||
224 | KIP-89: Allow sink connectors to decouple flush and offset commit117: Add a public AdminClient API for Kafka admin operations | 0.1011.20.0 | ||||
225 | KIP-88: OffsetFetch Protocol Update115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.1011.20.0 | ||||
226 | KIP-86: Configurable SASL callback handlers114: KTable state stores and improved semantics | 0.112.0.0 | ||||
227 | KIP-85: Dynamic JAAS configuration for Kafka clients113: Support replicas movement between log directories | 1.10.10.2.0 | ||||
228 | KIP-84: Support SASL SCRAM mechanisms112: Handle disk failure for JBOD | 1.00.10.2.0 | ||||
229 | KIP- | 82 - Add Record Headers110: Add Codec for ZStandard Compression | 2.1 | 0.11.0.0 | ||
230 | KIP-81: Bound Fetch memory usage in the consumer109: Old Consumer Deprecation | 0.11.0.02.4.0 (WIP) | ||||
231 | KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer108: Create Topic Policy | 0.10.12.0 | ||||
232 | KIP-78: Cluster Id107: Add deleteRecordsBefore() API in AdminClient | 0.1011.10.0 | ||||
233 | -77: Improve Kafka Streams Join Semantics -106 - Change Default unclean.leader.election.enabled from True to False | 0.1011.20.0 | ||||
234 | KIP-75 - Add per-connector Converters105: Addition of Record Level for Sensors | 0.10.12.0 | ||||
235 | KIP-74: Add Fetch Response Size Limit in Bytes104: Granular Sensors for Streams | 0.10.12.0 | ||||
236 | KIP-73: Replication Quotas103: Separation of Internal and External traffic | 0.10.12.0 | ||||
237 | KIP-72: Allow putting a bound on memory consumed by Incoming request -102 - Add close with timeout for consumers | 0.10.21.0.0 | ||||
238 | KIP-71: Enable log compaction and deletion to co-exist-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.1011.10.0 | ||||
239 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change-100 - Relax Type constraints in Kafka Streams API | 0.10.12.0 | ||||
240 | KIP-67: Queryable state for 99: Add Global Tables to Kafka Streams | 0.10.12.0 | ||||
241 | KIP-66: Single Message Transforms for Kafka Connect98 - Exactly Once Delivery and Transactional Messaging | 0.0.10.2.0 / 0.11.0.0 | ||||
242 | KIP-65: Expose timestamps to Connect97: Improved Kafka Client RPC Compatibility Policy | 0.10.12.0 | ||||
243 | KIP-63: Unify store and downstream caching in streams-96 - Add per partition metrics for in-sync and assigned replica count | 0.10.12.0 | ||||
244 | KIP-62: Allow consumer to send heartbeats from a background thread94 Session Windows | 0.10.12.0 | ||||
245 | KIP-60 - Make Java client classloading more flexible93: Improve invalid timestamp handling in Kafka Streams | 0.10.12.0 | ||||
246 | KIP-58 - Make Log Compaction Point Configurable92 - Add per partition lag metrics to KafkaConsumer | 0.10.12.0 | ||||
247 | KIP-57 - Interoperable LZ4 Framing91 Provide Intuitive User Timeouts in The Producer | 2.10.10.0.0 | ||||
248 | KIP-56: Allow cross origin HTTP requests on all HTTP methods-90 - Remove zkClient dependency from Streams | 0.10.02.0 | ||||
249 | KIP-55: Secure Quotas for Authenticated Users89: Allow sink connectors to decouple flush and offset commit | 0.10.12.0 | ||||
250 | KIP-54: Sticky Partition Assignment Strategy88: OffsetFetch Protocol Update | 0.1110.02.0 | ||||
251 | KIP-52: Connector Control APIs86: Configurable SASL callback handlers | 2.0.10.0.0 | ||||
252 | KIP-51 - List Connectors REST API85: Dynamic JAAS configuration for Kafka clients | 0.10.02.0 | ||||
253 | KIP-50 - Move Authorizer to o.a.k.common package84: Support SASL SCRAM mechanisms | 0.10.12.0 | ||||
254 | KIP-48 Delegation token support for Kafka-82 - Add Record Headers | 0.11.01.1.0 | ||||
255 | KIP-81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP)45 - Standardize all client sequence interaction on j.u.Collection.0.10.0.0 | ||||
256 | KIP-43: Kafka SASL enhancements79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.10.01.0 | ||||
257 | KIP-42: Add Producer and Consumer Interceptors78: Cluster Id | 0.10.01.0 | ||||
258 | KIP-41: Consumer Max Records77: Improve Kafka Streams Join Semantics | 0.10.02.0 | ||||
259 | KIP-40: ListGroups and DescribeGroup-75 - Add per-connector Converters | 0.910.01.0 | ||||
260 | KIP-38: ZooKeeper Authentication74: Add Fetch Response Size Limit in Bytes | 0.910.01.0 | ||||
261 | KIP-36 - Rack aware replica assignment73: Replication Quotas | 0.10.01.0 | ||||
262 | KIP-35 - Retrieving protocol version72: Allow putting a bound on memory consumed by Incoming request | 10.10.0.0 | ||||
263 | KIP-33 - Add a time based log index71: Enable log compaction and deletion to co-exist | 0.10.1.0 | ||||
264 | KIP-32 - Add timestamps to Kafka message70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.01.0 | ||||
265 | KIP-31 - Move to relative offsets in compressed message sets67: Queryable state for Kafka Streams | 0.10.01.0 | ||||
266 | KIP-28 - Add a processor client66: Single Message Transforms for Kafka Connect | 0.10.2.0 / 0.11.0.0 | ||||
267 | KIP-26 - Add Kafka Connect framework for data import/export65: Expose timestamps to Connect | 0.910.01.0 | ||||
268 | KIP-25 - System test improvements63: Unify store and downstream caching in streams | 0.910.01.0 | ||||
269 | KIP-22 - Expose a Partitioner interface in the new producer62: Allow consumer to send heartbeats from a background thread | 0.910.01.0 | ||||
270 | KIP-21 - Dynamic Configuration60 - Make Java client classloading more flexible | 0.910.01.0 (WIP) | ||||
271 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system-58 - Make Log Compaction Point Configurable | 0.910.01.0 | ||||
272 | KIP-19 - Add a request timeout to NetworkClient57 - Interoperable LZ4 Framing | 0.910.0.0 | ||||
273 | KIP-16 - Automated Replica Lag Tuning56: Allow cross origin HTTP requests on all HTTP methods | 0.910.0.0 | ||||
274 | KIP-15 - Add a close method with a timeout in the producer55: Secure Quotas for Authenticated Users | 0.910.01.0 | ||||
275 | KIP-13 - Quota Design54: Sticky Partition Assignment Strategy | 0.911.0.0 | ||||
276 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation52: Connector Control APIs | 0.910.0.0 | ||||
277 | KIP-11 - Kafka Authorizer design51 - List Connectors REST API | 0.910.0.0 | ||||
278 | KIP-8 - Add a flush method to the producer API48 Delegation token support for Kafka | 1.1.00.9.0.0 | ||||
279 | KIP-4 - Metadata Protocol Changes45 - Standardize all client sequence interaction on j.u.Collection. | 0.10.0.0 | ||||
280 | KIP-4 - Command line and centralized administrative operations43: Kafka SASL enhancements | 0.910.0.0, | ||||
281 | KIP-42: Add Producer and Consumer Interceptors | 0.10.0.0, 0.10.1.0 | ||||
281282 | KIP-3 - Mirror Maker Enhancement41: Consumer Max Records | 0.910.0.0 | ||||
282283 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs40: ListGroups and DescribeGroup | 0.9.0.0 | ||||
283284 | KIP-1 - Remove support of request.required.acks38: ZooKeeper Authentication | 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 (ascending by KIP number).
Dormant/inactive KIPs
...
Discarded KIPs
Please insert new rows in sorted order (ascending by KIP number).
KIP Discussion Recordings
...