...
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: 508527
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- | 480: Sticky Partitioner504 - Add new Java Authorizer Interface | 2.4.0 (WIP) | |||
4 | KIP- | 479503: Add | Materialized to Joinmetric for number of topics marked for deletion | 2.4.0 (WIP) | ||
5 | KIP-476497: Add Java AdminClient Interfaceinter-broker API to alter ISR | 2.4.0 (WIP) | ||||
6 | KIP-467: Augment ProduceResponse error messaging for specific culprit records496: Administrative API to delete consumer offsets | 2.4.0 (WIP) | ||||
7 | KIP- | 465: Add Consolidated Connector Endpoint to Connect REST API495: Dynamically Adjust Log Levels in Connect | 2. | 34.0 (WIP) | ||
8 | KIP-464: Defaults for AdminClient#createTopic488: Clean up Sum,Count,Total Metrics | 2.4.0 | ||||
9 | KIP-462: Use local thread id for KStreams484: Expose metrics for group and transaction metadata loading duration | 2.34.0 (WIP) | ||||
10 | KIP-461: Improve Replica Fetcher behavior at handling partition failure481: SerDe Improvements for Connect Decimal type in JSON | 2.34.0 (WIP) | ||||
11 | KIP-460: Admin Leader Election RPC480: Sticky Partitioner | 2.4.0 | ||||
12 | KIP-458: Connector Client Config Override Policy479: Add Materialized to Join | 2.34.0(WIP) | ||||
13 | KIP-455: Create an Administrative API for Replica Reassignment476: Add Java AdminClient Interface | 2.4.0 (WIP) | ||||
14 | KIP- | 454: Expansion of the ConnectClusterState interface475: New Metrics to Measure Number of Tasks on a Connector | 2. | 34.0 (WIP) | ||
15 | KIP- | 453: Add close() method to RocksDBConfigSetter474: To deprecate WindowStore#put(key, value) | 2. | 34.0 (WIP) | ||
16 | KIP-449: Add connector contexts to log messages in Connect workers 471: Expose RocksDB Metrics in Kafka Streams | 2. 34.0 (WIP) | ||||
17 | KIP-446: Add changelog topic configuration to KTable suppress467: Augment ProduceResponse error messaging for specific culprit records | 2.4.0 (WIP) | ||||
18 | KIP-445: In-memory Session Store465: Add Consolidated Connector Endpoint to Connect REST API | 2.3.0 | ||||
19 | KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics464: Defaults for AdminClient#createTopic | 2.34.0 | ||||
20 | KIP-442: Return to default max poll interval in Streams462: Use local thread id for KStreams | 2.3.0 | ||||
21 | KIP-436: Add a metric indicating start time461: Improve Replica Fetcher behavior at handling partition failure | 2.3.0 | ||||
22 | KIP- | 430 - Return Authorized Operations in Describe Responses460: Admin Leader Election RPC | 2. | 34.0 | ||
23 | KIP- | 429: Kafka Consumer Incremental Rebalance Protocol458: Connector Client Config Override Policy | 2. | 43.0 | (WIP)||
24 | KIP- | 428: Add in-memory window store455: Create an Administrative API for Replica Reassignment | 2. | 34.0 (WIP) | ||
25 | KIP- | 427: Add AtMinIsr topic partition category (new metric & TopicCommand option)454: Expansion of the ConnectClusterState interface | 2.3.0 | |||
26 | KIP-425453: Add some Log4J Kafka Appender Properties for Producing to Secured Brokersclose() method to RocksDBConfigSetter | 2.3.0 | ||||
27 | KIP- | 421: Support resolving externalized secrets in AbstractConfig449: Add connector contexts to log messages in Connect workers | 2.3.0 | |||
28 | KIP- | 420446: Add | Single Value Fetch in Session Storeschangelog topic configuration to KTable suppress | 2. | 24.0 (WIP) | |
29 | KIP- | 417: Allow JmxTool to connect to a secured RMI port445: In-memory Session Store | 2.3.0 | |||
30 | 415: Incremental Cooperative Rebalancing in Kafka Connect | 2.3.0 | ||||
31 | KIP-414: Expose Embedded ClientIds in Kafka 442: Return to default max poll interval in Streams | 2.23.0 | ||||
32 | KIP- | 412440: Extend | Admin APIConnect Converter to support | dynamic application log levelsheaders | 2.4.0 (WIP) | |
33 | KIP- | 411: Make default Kafka Connect worker task client IDs distinct436: Add a metric indicating start time | 2.3.0 | |||
34 | KIP-402: Improve fairness in SocketServer processors434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.24.0 (partially implemented) / 2.3.0WIP) | ||||
35 | KIP-394: Require member.id for initial join group request-430 - Return Authorized Operations in Describe Responses | 2.23.0 | ||||
36 | KIP-393: Time windowed serde to properly deserialize changelog input topic429: Kafka Consumer Incremental Rebalance Protocol | 2.24.0 (WIP) | ||||
37 | KIP- | 386: Standardize on Min/Avg/Max metrics' default value428: Add in-memory window store | 2. | 23.0 | ||
38 | KIP- | 382: MirrorMaker 2.0427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2. | 43.0 | (WIP)||
39 | 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 | ||||
40 | KIP-377: TopicCommand to use AdminClient421: Support resolving externalized secrets in AbstractConfig | 2.23.0 | ||||
41 | 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 | |||
42 | KIP- | 374: Add '--help' option to all available Kafka CLI commands417: Allow JmxTool to connect to a secured RMI port | 2. | 23.0 | ||
43 | KIP- | 372: Naming Repartition Topics for Joins and Grouping415: Incremental Cooperative Rebalancing in Kafka Connect | 2. | 13.0 | ||
44 | KIP- | 371: Add a configuration to build custom SSL principal name414: Expose Embedded ClientIds in Kafka Streams | 2.2.0 | |||
45 | KIP 368: Allow SASL Connections to Periodically Re-Authenticate-412: Extend Admin API to support dynamic application log levels | 2.24.0 (WIP) | ||||
46 | 367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2. | 23.0 | |||
47 | KIP- | 366: Make FunctionConversions deprecated402: Improve fairness in SocketServer processors | 2. | 12.0 (partially implemented) / 2.3.0 | ||
48 | KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.14.0 (WIP) | ||||
49 | KIPKIP-361396: Add Consumer Configuration to Disable Auto Topic Creation | 2.3.0 | 50 | KIP-359: Verify leader epoch in produce requests | Commit/List Offsets Operations to AdminClient | 2.2.4.0 (WIP) |
5150 | KIP-358: Migrate Streams API to Duration instead of long ms times394: Require member.id for initial join group request | 2.2.0 | ||||
51 | KIP-393: Time windowed serde to properly deserialize changelog input topic | 2.22.1.0 | ||||
52 | KIP-357: Add support to list ACLs per principal389: Introduce a configurable consumer group size limit | 2.12.0 | ||||
53 | KIP-356: Add withCachingDisabled() to StoreBuilder386: Standardize on Min/Avg/Max metrics' default value | 2.12.0 | ||||
54 | KIP-354: Add a Maximum Log Compaction Lag382: MirrorMaker 2.0 | 2.34.0 | ||||
55 | 353: Improve Kafka Streams Timestamp Synchronization | 2. | 14.0 (WIP) | |||
56 | KIP-351: Add --under-min-isr option to describe topics command380: Detect outdated control requests and bounced brokers using broker generation | 2.32.0 | ||||
57 | KIP-346: Improve LogCleaner behavior on error377: TopicCommand to use AdminClient | 2.2.02.1 | ||||
58 | 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.22.4.0 (WIP), partially available in 2.3.0 | ||||
59 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication374: Add '--help' option to all available Kafka CLI commands | 2.12.0 | ||||
60 | KIP-341: Update Sticky Assignor's User Data Protocol372: Naming Repartition Topics for Joins and Grouping | 2.31.0 | ||||
61 | KIP- | 340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file371: Add a configuration to build custom SSL principal name | 2. | 12.0 | ||
62 | KIP- | 339: Create a new IncrementalAlterConfigs API369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2. | 34. | 00 | |
63 | KIP | -338 Support to exclude the internal topics in kafka-topics.sh command368: Allow SASL Connections to Periodically Re-Authenticate | 2. | 12.0 | ||
64 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.12.0 | ||||
65 | KIP-332: Update AclCommand to use AdminClient API366: Make FunctionConversions deprecated | 2.1.0 | ||||
66 | 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 | ||||
67 | KIPKIP-330361: Add retentionPeriod in SessionBytesStoreSupplierConsumer Configuration to Disable Auto Topic Creation | 2.13.0 | ||||
68 | KIP-328: Ability to suppress updates for KTables360: Improve handling of unknown producer | 2.14.0 (partially implemented) / 2.3.0 (WIP) | ||||
69 | KIP-324: Add method to get metrics() in AdminClient359: Verify leader epoch in produce requests | 2.14.0 (WIP) | ||||
70 | 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 | |||
71 | KIP- | 321357: | Update TopologyDescription to better represent Source and Sink NodesAdd support to list ACLs per principal | 2.1.0 | ||
72 | KIP-320: Allow fetchers to detect and handle log truncation356: Add withCachingDisabled() to StoreBuilder | 2.1.0 (partially implemented) / 2.2 | ||||
73 | KIP-354: Add a Maximum Log Compaction Lag | 2.3.0 | ||||
7374 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier353: Improve Kafka Streams Timestamp Synchronization | 2.1.0 | ||||
7475 | KIP-313: Add KStream.flatTransform and KStream.flatTransformValues 352: Distinguish URPs caused by reassignment | 2.24.0 (partially implementedWIP) / 2.3.0 | ||||
76 | 75 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties351: Add --under-min-isr option to describe topics command | 2.13.0 | 76|||
77 | KIP- | 308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides346: Improve LogCleaner behavior on error | 2.1 | .0|||
7778 | KIP-307: Allow to define custom processor names with KStreams DSL345: Introduce static membership protocol to reduce consumer rebalances | 2.34.0 (partial) | 78 | KIP-306: Configuration for Delaying Response to Failed Authentication | 2.1WIP), partially available in 2.3.0 | |
79 | KIP- | 305: Add Connect primitive number converters342 Add support for custom SASL extensions in OAuthBearer authentication | 2. | 01.0 | ||
80 | KIP-303: Add Dynamic Routing in Streams Sink341: Update Sticky Assignor's User Data Protocol | 2.03.0 | ||||
81 | KIP-340: Allow kafka-302 - Enable Kafka clients to use all DNS resolved IP addressesreassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.1.0 | ||||
82 | KIP-300: Add Windowed KTable API in StreamsBuilder339: Create a new IncrementalAlterConfigs API | 2.43.00 | ||||
83 | KIP-298: Error Handling in Connect338 Support to exclude the internal topics in kafka-topics.sh command | 2.01.0 | ||||
84 | KIP-297: Externalizing Secrets for Connect Configurations336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2.01.0 | ||||
85 | KIP- | 295 Add Streams Configuration Allowing for Optional Topology Optimization332: Update AclCommand to use AdminClient API | 2. | 01.0 | ||
86 | KIP-294 - Enable TLS hostname verification by default | 2.0.0 | 331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.3.0 | ||
87 | KIP-292330: Add transformValues() method to KTableretentionPeriod in SessionBytesStoreSupplier | 2.01.0 | ||||
88 | KIP-290: Support for Prefixed ACLs328: Ability to suppress updates for KTables | 2.1.0 (partially implemented) / 2.3.0 (WIP) | ||||
89 | KIP-289: Improve the default group id behavior in KafkaConsumer324: Add method to get metrics() in AdminClient | 2.21.0 | ||||
90 | KIP-285: Connect Rest Extension Plugin322: Return new error code for DeleteTopics API when topic deletion disabled. | 2.01.0 | ||||
91 | 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 | ||||
92 | KIP-283: Efficient Memory Usage for Down-Conversion320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2.2.0.0 | ||||
93 | KIP-282: Add the listener name to the authentication context319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.01.0 | ||||
94 | KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User313: Add KStream.flatTransform and KStream.flatTransformValues | 2. 02.0 | 95 | KIP-279: Fix log divergence between leader and follower after fast leader fail over | (partially implemented) / 2.3 | 2.0.0 |
95 | KIP-278 - Add version option to Kafka's commands312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.01.0 | ||||
9796 | KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.1.0 | ||||
97 | KIP-307: Allow to define custom processor names with KStreams DSL | 2.3.0 (partial)277 - Fine Grained ACL for CreateTopics API2.0.0 | ||||
98 | KIP- | 276 - Add StreamsConfig prefix for different consumers306: Configuration for Delaying Response to Failed Authentication | 2. | 01.0 | ||
99 | KIP-274: Kafka Streams Skipped Records Metrics305: Add Connect primitive number converters | 2.0.0 | ||||
100 | KIP-272303: Add API version tag to broker's RequestsPerSec metricDynamic Routing in Streams Sink | 2.0.0 | ||||
101 | KIP-270 - A Scala Wrapper Library for Kafka Streams302 - Enable Kafka clients to use all DNS resolved IP addresses | 2.01.0 | ||||
102 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade300: Add Windowed KTable API in StreamsBuilder | 2. | 04.0 | ||
103 | KIP- | 267: Add Processor Unit Test Support to Kafka Streams Test Utils298: Error Handling in Connect | 2.0.0 | |||
104 | KIP-266: Fix consumer indefinite blocking behavior297: Externalizing Secrets for Connect Configurations | 2.0.0 | ||||
105 | KIP- | 265: Make Windowed Serde to public APIs295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0.0 | |||
106 | KIP | -261: Add Single Value Fetch in Window Stores-294 - Enable TLS hostname verification by default | 2.0.0 | |||
107 | Accepted | |||||
108 | KIP-292: Add transformValues() method to KTable258: Allow to Store Record Timestamps in RocksDB | 2.30.0 (partially implemented) | ||||
108 | KIP-257 - Configurable Quota Management | 2.0.0 | ||||
109 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER290: Support for Prefixed ACLs | 2.0.0 | ||||
110 | KIP- | 251: Allow timestamp manipulation in Processor API289: Improve the default group id behavior in KafkaConsumer | 2. | 02.0 | ||
111 | KIP-249: Add Delegation Token Operations to KafkaAdminClient285: Connect Rest Extension Plugin | 2.0.0 | ||||
112 | 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 | ||
113 | KIP- | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor283: Efficient Memory Usage for Down-Conversion | 2.0.0 | |||
114 | KIP-244282: Add Record Header support to Kafka Streams Processor APIthe listener name to the authentication context | 2.0.0 | ||||
115 | 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 | ||
116 | KIP-239 Add queryableStoreName() to GlobalKTable279: Fix log divergence between leader and follower after fast leader fail over | 2.01.1.0 | ||||
117 | KIP- | 238: Expose Kafka cluster ID in Connect REST API278 - Add version option to Kafka's commands | 2.0 | 1.1.0 | ||
118 | KIP | -237: More Controller Health Metrics-277 - Fine Grained ACL for CreateTopics API | 2.0.0 | |||
119 | KIP-276 - | 235: Add DNS alias support for secured connectionAdd StreamsConfig prefix for different consumers | 2. | 10.0 | ||
120 | KIP-233: Simplify StreamsBuilder#addGlobalStore274: Kafka Streams Skipped Records Metrics | 2.01.1.0 | ||||
121 | KIP-231: Improve the Required ACL of ListGroups API272: Add API version tag to broker's RequestsPerSec metric | 2.02.1.0 | ||||
122 | KIP | -229: DeleteGroups API-270 - A Scala Wrapper Library for Kafka Streams | 2.0 | 1.1.0 | ||
123 | KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2.01.1.0 | ||||
124 | KIP-226 - Dynamic Broker Configuration267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.01.1.0 | ||||
125 | KIP- | 225 - Use tags for consumer “records.lag” metrics266: Fix consumer indefinite blocking behavior | 2.0 | 1.1.0 | ||
126 | KIP-224: Add configuration parameter `retries` to Streams API265: Make Windowed Serde to public APIs | 2.01.1.0 | ||||
127 | KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer261: Add Single Value Fetch in Window Stores | 2.0.0 | ||||
128 | KIP- | 222 - Add Consumer Group operations to Admin API258: Allow to Store Record Timestamps in RocksDB | 2. | 03.0 (partially implemented) | ||
129 | KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint-257 - Configurable Quota Management | 2.40.0 (WIP) | ||||
130 | KIP- | 220: Add AdminClient into Kafka Streams' ClientSupplier255: OAuth Authentication via SASL/OAUTHBEARER | 2.0 | 1.1.0 | ||
131 | KIP-219 - Improve quota communication251: Allow timestamp manipulation in Processor API | 2.0.0 | ||||
132 | KIP-218: Make KafkaFuture.Function java 8 lambda compatible249: Add Delegation Token Operations to KafkaAdminClient | 2.01.1.0 | ||||
133 | KIP-215247: Add topic regex support for Connect sinkspublic test utils for Kafka Streams | 1.1.0 | ||||
134 | KIP-214: Add zookeeper.max.in.flight.requests config to the broker245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.01.1.0 | ||||
135 | KIP-213 Support non-key joining in KTable244: Add Record Header support to Kafka Streams Processor API | 2.40.0 (WIP) | ||||
136 | KIP-212: Enforce set of legal characters for connector names243: Make ProducerConfig and ConsumerConfig constructors public | 1.1.0 | ||||
137 | KIP-211: Revise Expiration Semantics of Consumer Group Offsets | 2.1.0 | 138 | KIP-210 - Provide for custom error handling when Kafka Streams fails to produce239 Add queryableStoreName() to GlobalKTable | 1.1.0 | |
139138 | KIP-208: Add SSL support to Kafka 238: Expose Kafka cluster ID in Connect REST interfaceAPI | 1.1.0 | ||||
140139 | KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change237: More Controller Health Metrics | 2.20.0 | ||||
140 | KIP-206235: Add DNS alias support for UUID serialization and deserializationsecured connection | 2.1.0 | ||||
142141 | KIP-205: Add all() and range() API to ReadOnlyWindowStore233: Simplify StreamsBuilder#addGlobalStore | 1.1.0 | ||||
143142 | KIP- | 204 : Adding records deletion operation to the new Admin Client API231: Improve the Required ACL of ListGroups API | 2 | 1.1.0 | ||
144143 | KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule 229: DeleteGroups API | 1.1.0 | ||||
145144 | KIP-202: Move merge() from StreamsBuilder to KStream-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.01.0 | ||||
146145 | KIP-198: Remove ZK dependency from Streams Reset Tool226 - Dynamic Broker Configuration | 1.1.0 | ||||
146 | KIP-225 - Use tags for consumer “records.lag” metrics | 1.1.1.0.0 | ||||
147 | KIP-197 Connect REST API should include the connector type when describing a connector224: Add configuration parameter `retries` to Streams API | 1.01.0 | ||||
148 | KIP-223 - 196: Add metrics to Kafka Connect frameworkAdd per-topic min lead and per-partition lead metrics to KafkaConsumer | 21.0.0 | ||||
149 | KIP-195: AdminClient.createPartitions-222 - Add Consumer Group operations to Admin API | 21.0.0 | ||||
150 | KIP-192 : Provide cleaner semantics when idempotence is enabled221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)1.0.0 | ||||
151 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern220: Add AdminClient into Kafka Streams' ClientSupplier | 1.01.0 | ||||
152 | KIP-190: Handle client-ids consistently between clients and brokers219 - Improve quota communication | 21.0.0 | ||||
153 | KIP-189: Improve principal builder interface and add support for SASL218: Make KafkaFuture.Function java 8 lambda compatible | 1.01.0 | ||||
154 | KIP-188 - Add new metrics to support health checks215: Add topic regex support for Connect sinks | 1.01.0 | ||||
155 | KIP-187 - Add cumulative count metric for all Kafka rate metrics214: Add zookeeper.max.in.flight.requests config to the broker | 1.01.0 | ||||
156 | KIP- | 186: Increase offsets retention default to 7 days213 Support non-key joining in KTable | 2. | 04.0 | (WIP) | |
157 | KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient212: Enforce set of legal characters for connector names | 1.12.2.0 | ||||
158 | KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines211: Revise Expiration Semantics of Consumer Group Offsets | 2.1.0.0 | ||||
159 | KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress-210 - Provide for custom error handling when Kafka Streams fails to produce | 1.1.0 | ||||
160 | KIP-177: Consumer perf tool should count rebalance time208: Add SSL support to Kafka Connect REST interface | 1.01.0 | ||||
161 | KIP- | 176: Remove deprecated new-consumer option for tools207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2. | 02.0 | ||
162 | KIP- | 175: Additional '--describe' views for ConsumerGroupCommand206: Add support for UUID serialization and deserialization | 2 | 1.1.0 | ||
163 | KIP-174 - Deprecate and remove internal converter configs in WorkerConfig205: Add all() and range() API to ReadOnlyWindowStore | 1.12.0.0 | ||||
164 | KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs204 : Adding records deletion operation to the new Admin Client API | 1.01.0 | ||||
165 | KIP-171 - Extend Consumer Group Reset Offset for Stream Application203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.1.0 | ||||
166 | KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster202: Move merge() from StreamsBuilder to KStream | 1.0.0 | ||||
167 | KIP-167: Add interface for the state store restoration process198: Remove ZK dependency from Streams Reset Tool | 1.0.0 | ||||
168 | KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics197 Connect REST API should include the connector type when describing a connector | 1.0.0 | ||||
169 | KIP- | 163: Lower the Minimum Required ACL Permission of OffsetFetch196: Add metrics to Kafka Connect framework | 1.0.0 | |||
170 | KIP-162: Enable topic deletion by default195: AdminClient.createPartitions | 1.0.0 | ||||
171 | KIP-161: streams deserialization exception handlers192 : Provide cleaner semantics when idempotence is enabled | 1.0.0 | ||||
172 | KIP-160191: Augment KStreamKafkaConsumer.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed stringsubscribe() overload that takes just Pattern | 1.0.0 | ||||
173 | KIP- | 157 - Add consumer config options to streams reset tool190: Handle client-ids consistently between clients and brokers | 1.0.0 | |||
174 | KIP- | 156 Add option "dry run" to Streams application reset tool189: Improve principal builder interface and add support for SASL | 1. | 0.11.0.0 | ||
175 | KIP- | 155188 - Add | range scan for windowed state storesnew metrics to support health checks | 1 | 0.11.0.0 | |
176 | KIP-154 Add Kafka Connect configuration properties for creating internal topics187 - Add cumulative count metric for all Kafka rate metrics | 1.0.11.0.0 | ||||
177 | KIP-153: Include only client traffic in BytesOutPerSec metric186: Increase offsets retention default to 7 days | 2.0.11.0.0 | ||||
178 | KIP-152 - Improve diagnostics for SASL authentication failures183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.21.0.0 | ||||
179 | KIP-151 Expose Connector type in REST API182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.0.11.0.0 | ||||
180 | KIP-150 - Kafka-Streams Cogroup180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.1.02.4.0 (WIP) | ||||
181 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner177: Consumer perf tool should count rebalance time | 1.0.01.1.0 (partially implemented) (WIP for 2.4.0) | ||||
182 | KIP- | 146 - Classloading Isolation in Connect176: Remove deprecated new-consumer option for tools | 2 | 0.11.0.0 | ||
183 | KIP-145 - Expose Record Headers in Kafka Connect175: Additional '--describe' views for ConsumerGroupCommand | 1.1.0 | ||||
184 | KIP-144: Exponential backoff for broker reconnect attempts-174 - Deprecate and remove internal converter configs in WorkerConfig | 20.11.0.0 | ||||
185 | KIP-143: Controller Health Metrics173: Add prefix to StreamsConfig to enable setting default internal topic configs | 10.11.0.0 | ||||
186 | KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs-171 - Extend Consumer Group Reset Offset for Stream Application | 1.10.11.0.0 | ||||
187 | KIP-138: Change punctuate semantics168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 1.0.0 | ||||
188 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion167: Add interface for the state store restoration process | 10.11.0.0 | ||||
189 | 136: Add Listener name to SelectorMetrics tags 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 1.0.11.0.0 | ||||
190 | 134: Delay initial consumer group rebalance | 1 | 0.11.0.0 | |||
191 | KIP-133: Describe and Alter Configs Admin APIs162: Enable topic deletion by default | 10.11.0.0 | ||||
192 | KIP- | 130: Expose states of active tasks to KafkaStreams public API161: streams deserialization exception handlers | 1.0.0 | |||
193 | KIP-129: Streams Exactly-Once Semantics160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 1.0.11.0.0 | ||||
194 | KIP-157 - | 128: Add ByteArrayConverter for Kafka ConnectAdd consumer config options to streams reset tool | 1. | 0.11.0.0 | ||
195 | KIP- | 126 - Allow KafkaProducer to split and resend oversized batches.156 Add option "dry run" to Streams application reset tool | 0.11.0.0 | |||
196 | KIP- | 124 - Request rate quotas155 - Add range scan for windowed state stores | 0.11.0.0 | |||
197 | KIP-123: Allow per stream/table timestamp extractor154 Add Kafka Connect configuration properties for creating internal topics | 0.11.0.0 | ||||
198 | KIP-122: Add Reset Consumer Group Offsets tooling153: Include only client traffic in BytesOutPerSec metric | 0.11.0.0 | ||||
199 | KIP-121: Add KStream peek method-152 - Improve diagnostics for SASL authentication failures | 10.11.0.0 | ||||
200 | KIP-120: Cleanup Kafka Streams builder API151 Expose Connector type in REST API | 0.111.0.0 | ||||
201 | KIP-150 - Kafka-Streams Cogroup | 2.4.0 (WIP)119: Drop Support for Scala 2.10 in Kafka 0.110.11.0.0 | ||||
202 | KIP-118: Drop Support for Java 7149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0)2.0.0 | ||||
203 | KIP-117: Add a public AdminClient API for Kafka admin operations146 - Classloading Isolation in Connect | 0.11.0.0 | ||||
204 | KIP-145 - Expose Record Headers in Kafka Connect | 1.1-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation0.11.0.0 | ||||
205 | KIP-114: KTable state stores and improved semantics144: Exponential backoff for broker reconnect attempts | 0.11.0.0 | ||||
206 | KIP-113: Support replicas movement between log directories143: Controller Health Metrics | 0.11.01.1.0 | ||||
207 | KIP-112: Handle disk failure for JBOD140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.111.0.0 | ||||
208 | KIP- | 110: Add Codec for ZStandard Compression138: Change punctuate semantics | 1.0 | 2.1.0 | ||
209 | KIP-109: Old Consumer Deprecation137: Enhance TopicCommand --describe to show topics marked for deletion | 0.11.0.0 | ||||
210 | KIP-108: Create Topic Policy136: Add Listener name to SelectorMetrics tags | 0.1011.20.0 | ||||
211 | KIP-107: Add deleteRecordsBefore() API in AdminClient134: Delay initial consumer group rebalance | 0.11.0.0 | ||||
212 | KIP-106 - Change Default unclean.leader.election.enabled from True to False133: Describe and Alter Configs Admin APIs | 0.11.0.0 | ||||
213 | KIP- | 105130: | Addition of Record Level for Sensors0.10.2.Expose states of active tasks to KafkaStreams public API | 1.0.0 | ||
214 | KIP-104129: Granular Sensors for Streams Streams Exactly-Once Semantics | 0.1011.20.0 | ||||
215 | KIP-103: Separation of Internal and External traffic128: Add ByteArrayConverter for Kafka Connect | 0.1011.20.0 | ||||
216 | KIP-102 - Add close with timeout for consumers126 - Allow KafkaProducer to split and resend oversized batches. | 0.1011.20.0 | ||||
217 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation124 - Request rate quotas | 0.11.0.0 | ||||
218 | KIP-100 - Relax Type constraints in Kafka Streams API123: Allow per stream/table timestamp extractor | 0.1011.20.0 | ||||
219 | KIP-99122: Add Global Tables to Kafka StreamsReset Consumer Group Offsets tooling | 0.1011.20.0 | ||||
220 | KIP-98 - Exactly Once Delivery and Transactional Messaging121: Add KStream peek method | 0.11.0.0 | ||||
221 | KIP-97120: Improved Kafka Client RPC Compatibility PolicyCleanup Kafka Streams builder API | 1.00.10.2.0 | ||||
222 | KIP-96 - Add per partition metrics for in-sync and assigned replica count119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.1011.20.0 | ||||
223 | KIP-94 Session Windows118: Drop Support for Java 7 | 2.00.10.2.0 | ||||
224 | KIP-93: Improve invalid timestamp handling in Kafka Streams117: Add a public AdminClient API for Kafka admin operations | 0.1011.20.0 | ||||
225 | KIP-92 - Add per partition lag metrics to KafkaConsumer115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.1011.20.0 | ||||
226 | KIP-91 Provide Intuitive User Timeouts in The Producer114: KTable state stores and improved semantics | 0.11.02.1.0 | ||||
227 | KIP-90 - Remove zkClient dependency from Streams113: Support replicas movement between log directories | 1.1.0.10.2.0 | ||||
228 | KIP-89: Allow sink connectors to decouple flush and offset commit112: Handle disk failure for JBOD | 1.00.10.2.0 | ||||
229 | KIP- | 88: OffsetFetch Protocol Update110: Add Codec for ZStandard Compression | 2.1 | 0.10.2.0 | ||
230 | KIP-86: Configurable SASL callback handlers109: Old Consumer Deprecation | 0.112.0.0 | ||||
231 | KIP-85: Dynamic JAAS configuration for Kafka clients108: Create Topic Policy | 0.10.2.0 | ||||
232 | KIP-84: Support SASL SCRAM mechanisms107: Add deleteRecordsBefore() API in AdminClient | 0.1011.20.0 | ||||
233 | 82 - Add Record Headers 106 - Change Default unclean.leader.election.enabled from True to False | 0.11.0.0 | ||||
234 | KIP-81: Bound Fetch memory usage in the consumer105: Addition of Record Level for Sensors | 0.10.2.02.4.0 (WIP) | ||||
235 | KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer104: Granular Sensors for Streams | 0.10.12.0 | ||||
236 | KIP-78: Cluster Id103: Separation of Internal and External traffic | 0.10.12.0 | ||||
237 | KIP-77: Improve Kafka Streams Join Semantics-102 - Add close with timeout for consumers | 0.10.2.0 | ||||
238 | KIP-75 - Add per-connector Converters101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.1011.10.0 | ||||
239 | KIP-74: Add Fetch Response Size Limit in Bytes100 - Relax Type constraints in Kafka Streams API | 0.10.12.0 | ||||
240 | KIP-73: Replication Quotas99: Add Global Tables to Kafka Streams | 0.10.12.0 | ||||
241 | KIP-72: Allow putting a bound on memory consumed by Incoming request 98 - Exactly Once Delivery and Transactional Messaging | 0.111.0.0 | ||||
242 | KIP-71: Enable log compaction and deletion to co-exist97: Improved Kafka Client RPC Compatibility Policy | 0.10.12.0 | ||||
243 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change-96 - Add per partition metrics for in-sync and assigned replica count | 0.10.12.0 | ||||
244 | KIP-67: Queryable state for Kafka Streams94 Session Windows | 0.10.12.0 | ||||
245 | KIP-66: Single Message Transforms for Kafka Connect93: Improve invalid timestamp handling in Kafka Streams | 0.10.2.0 / 0.11.0.0 | ||||
246 | KIP-65: Expose timestamps to Connect-92 - Add per partition lag metrics to KafkaConsumer | 0.10.12.0 | ||||
247 | KIP-63: Unify store and downstream caching in streams91 Provide Intuitive User Timeouts in The Producer | 20.10.1.0 | ||||
248 | KIP-62: Allow consumer to send heartbeats from a background thread-90 - Remove zkClient dependency from Streams | 0.10.12.0 | ||||
249 | KIP-60 - Make Java client classloading more flexible89: Allow sink connectors to decouple flush and offset commit | 0.10.12.0 | ||||
250 | KIP-58 - Make Log Compaction Point Configurable88: OffsetFetch Protocol Update | 0.10.12.0 | ||||
251 | KIP-57 - Interoperable LZ4 Framing86: Configurable SASL callback handlers | 2.0.0.10.0.0 | ||||
252 | KIP-56: Allow cross origin HTTP requests on all HTTP methods85: Dynamic JAAS configuration for Kafka clients | 0.10.02.0 | ||||
253 | KIP-55: Secure Quotas for Authenticated Users84: Support SASL SCRAM mechanisms | 0.10.12.0 | ||||
254 | KIP-54: Sticky Partition Assignment Strategy-82 - Add Record Headers | 0.11.0.0 | ||||
255 | KIP-52: Connector Control APIs81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP)0.10.0.0 | ||||
256 | KIP-51 - List Connectors REST API79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.10.01.0 | ||||
257 | KIP-48 Delegation token support for Kafka78: Cluster Id | 0.101.1.0 | ||||
258 | KIP-77: Improve Kafka Streams Join Semantics | 45 - Standardize all client sequence interaction on j.u.Collection.0.10.02.0 | ||||
259 | KIP-43: Kafka SASL enhancements-75 - Add per-connector Converters | 0.10.01.0 | ||||
260 | KIP-4274: Add Producer and Consumer InterceptorsFetch Response Size Limit in Bytes | 0.10.01.0 | ||||
261 | KIP-41: Consumer Max Records73: Replication Quotas | 0.10.01.0 | ||||
262 | KIP-40: ListGroups and DescribeGroup72: Allow putting a bound on memory consumed by Incoming request | 10.9.0.0 | ||||
263 | KIP-38: ZooKeeper Authentication71: Enable log compaction and deletion to co-exist | 0.910.01.0 | ||||
264 | KIP-36 - Rack aware replica assignment70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.01.0 | ||||
265 | KIP-35 - Retrieving protocol version67: Queryable state for Kafka Streams | 0.10.01.0 | ||||
266 | KIP-33 - Add a time based log index66: Single Message Transforms for Kafka Connect | 0.10.1.2.0 / 0.11.0.0 | ||||
267 | KIP-32 - Add 65: Expose timestamps to Kafka messageConnect | 0.10.01.0 | ||||
268 | KIP-31 - Move to relative offsets in compressed message sets63: Unify store and downstream caching in streams | 0.10.01.0 | ||||
269 | KIP-28 - Add a processor client62: Allow consumer to send heartbeats from a background thread | 0.10.01.0 | ||||
270 | KIP-26 - Add Kafka Connect framework for data import/export60 - Make Java client classloading more flexible | 0.910.01.0 | ||||
271 | KIP-25 - System test improvements58 - Make Log Compaction Point Configurable | 0.910.01.0 | ||||
272 | KIP-22 - Expose a Partitioner interface in the new producer57 - Interoperable LZ4 Framing | 0.100.9.0.0 | ||||
273 | KIP-21 - Dynamic Configuration56: Allow cross origin HTTP requests on all HTTP methods | 0.910.0.0 (WIP) | ||||
274 | 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 | ||||
275 | KIP-19 - Add a request timeout to NetworkClient54: Sticky Partition Assignment Strategy | 0.911.0.0 | ||||
276 | KIP-16 - Automated Replica Lag Tuning52: Connector Control APIs | 0.910.0.0 | ||||
277 | KIP-15 - Add a close method with a timeout in the producer51 - List Connectors REST API | 0.910.0.0 | ||||
278 | KIP-13 - Quota Design48 Delegation token support for Kafka | 1.1.00.9.0.0 | ||||
279 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation45 - Standardize all client sequence interaction on j.u.Collection. | 0.910.0.0 | ||||
280 | KIP-11 - Kafka Authorizer design43: Kafka SASL enhancements | 0.910.0.0 | ||||
281 | KIP-8 - Add a flush method to the producer API42: Add Producer and Consumer Interceptors | 0.910.0.0 | ||||
282 | KIP-4 - Metadata Protocol Changes41: Consumer Max Records | 0.10.0.0 | ||||
283 | KIP-4 - Command line and centralized administrative operations40: ListGroups and DescribeGroup | 0.9.0.0, 0.10.0.0, 0.10.1.0 | ||||
284 | KIP-3 - Mirror Maker Enhancement38: ZooKeeper Authentication | 0.9.0.0 | ||||
285 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs36 - Rack aware replica assignment | 0.910.0.0 | ||||
286 | 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.
KIP | Comment |
---|---|
KIP-59: Proposal for a kafka broker command | Sent emails to Dev discussion group. Work tracked under KAFKA-3663. |
KIP-125: ZookeeperConsumerConnector to KafkaConsumer Migration and Rollback | |
KIP-131 - Add |
Please insert new rows in sorted order (ascending by KIP number). Please move the adopted/accepted KIPs to the "Adopted KIPs" table above.
Dormant/inactive KIPs
...