...
To create your own KIP, click on
Create from template | ||||||||
---|---|---|---|---|---|---|---|---|
|
dev@kafka.apache.org
and request permission (http://kafka.apache.org/contact). Also add an entry to the table KIPs under discussion (for Streams API KIPs, please also add it to Kafka Streams sub page).Table of Contents |
---|
Purpose
We want to make Kafka a core architectural component for users. We also support a large number of integrations with other tools, systems, and clients. Keeping this kind of usage health requires a high level of compatibility between releases — core architectural elements can't break compatibility or shift functionality from release to release. As a result each new major feature or public api has to be done in a way that we can stick with it going forward.
...
KIP round-up
Next KIP Number: 502526
Use this number as the identifier for your KIP and increment this value.
...
KIP (please keep this sorted by KIP number) | Release | |||||
---|---|---|---|---|---|---|
1 | KIP- | 488: Clean up Sum,Count,Total Metrics482: The Kafka Protocol should Support Optional Tagged Fields | 2.4.0 (WIP) | |||
2 | KIP-484: Expose metrics for group and transaction metadata loading duration-504 - Add new Java Authorizer Interface | 2.4.0 (WIP) | ||||
3 | KIP-476503: Add Java AdminClient Interfacemetric for number of topics marked for deletion | 2.4.0 (WIP) | ||||
4 | KIP-467: Augment ProduceResponse error messaging for specific culprit records497: Add inter-broker API to alter ISR | 2.4.0 (WIP) | ||||
5 | KIP-465: Add Consolidated Connector Endpoint to Connect REST API496: Administrative API to delete consumer offsets | 2.34.0 (WIP) | ||||
6 | KIP-464: Defaults for AdminClient#createTopic488: Clean up Sum,Count,Total Metrics | 2.4.0 | ||||
7 | KIP-462: Use local thread id for KStreams484: Expose metrics for group and transaction metadata loading duration | 2.34.0 (WIP) | ||||
8 | KIP- | 461: Improve Replica Fetcher behavior at handling partition failure480: Sticky Partitioner | 2. | 34.0 | ||
9 | KIP-460: Admin Leader Election RPC479: Add Materialized to Join | 2.4.0(WIP) | ||||
10 | KIP- | 458: Connector Client Config Override Policy476: Add Java AdminClient Interface | 2. | 34.0 | ||
11 | KIP- | 455: Create an Administrative API for Replica Reassignment475: New Metrics to Measure Number of Tasks on a Connector | 2.4.0 (WIP) | |||
12 | KIP- | 454: Expansion of the ConnectClusterState interface474: To deprecate WindowStore#put(key, value) | 2. | 34.0 (WIP) | ||
13 | KIP- | 453: Add close() method to RocksDBConfigSetter471: Expose RocksDB Metrics in Kafka Streams | 2. | 34.0 (WIP) | ||
14 | KIP- | 449: Add connector contexts to log messages in Connect workers467: Augment ProduceResponse error messaging for specific culprit records | 2. | 34.0 (WIP) | ||
15 | KIP-446465: Add changelog topic configuration to KTable suppressConsolidated Connector Endpoint to Connect REST API | 2.43.0 (WIP) | ||||
16 | KIP-445: In-memory Session Store464: Defaults for AdminClient#createTopic | 2.34.0 | ||||
17 | KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics462: Use local thread id for KStreams | 2.3.0 | ||||
18 | KIP-442: Return to default max poll interval in Streams461: Improve Replica Fetcher behavior at handling partition failure | 2.3.0 | ||||
19 | KIP- | 436: Add a metric indicating start time460: Admin Leader Election RPC | 2. | 34.0 | ||
20 | KIP- | 430 - Return Authorized Operations in Describe Responses458: Connector Client Config Override Policy | 2.3.0 | |||
21 | KIP-429: Kafka Consumer Incremental Rebalance Protocol455: Create an Administrative API for Replica Reassignment | 2.4.0 (WIP) | ||||
22 | KIP- | 428: Add in-memory window store454: Expansion of the ConnectClusterState interface | 2.3.0 | |||
23 | KIP- | 427453: Add | AtMinIsr topic partition category (new metric & TopicCommand option)close() method to RocksDBConfigSetter | 2.3.0 | ||
24 | KIP- | 425449: Add | some Log4J Kafka Appender Properties for Producing to Secured Brokersconnector contexts to log messages in Connect workers | 2.3.0 | ||
25 | KIP-421: Support resolving externalized secrets in AbstractConfig446: Add changelog topic configuration to KTable suppress | 2.34.0 (WIP) | ||||
26 | KIP- | 420: Add Single Value Fetch in Session Stores445: In-memory Session Store | 2. | 23.0 | ||
27 | 417 | Allow JmxTool to connect to a secured RMI port | 2.3.0 | 28 | KIP-415: Incremental Cooperative Rebalancing in Kafka Connect2.3.0 | |
2928 | KIP-414: Expose Embedded ClientIds in Kafka 442: Return to default max poll interval in Streams | 2.23.0 | ||||
29 | KIP- | 412440: Extend | Admin APIConnect Converter to support | dynamic application log levelsheaders | 2.4.0 (WIP) | |
30 | KIP- | 411: Make default Kafka Connect worker task client IDs distinct436: Add a metric indicating start time | 2.3.0 | |||
3231 | KIP-402: Improve fairness in SocketServer processors-430 - Return Authorized Operations in Describe Responses | 2.2.0 (partially implemented) / 2.3.0 | ||||
3332 | KIP-394: Require member.id for initial join group request429: Kafka Consumer Incremental Rebalance Protocol | 2.24.0 (WIP) | ||||
33 | KIP- | 393: Time windowed serde to properly deserialize changelog input topic428: Add in-memory window store | 2. | 23.0 | ||
34 | KIP- | 386: Standardize on Min/Avg/Max metrics' default value427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2. | 23.0 | ||
3635 | KIP-382: MirrorMaker 2.0425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.43.0 (WIP) | ||||
3736 | KIP-380: Detect outdated control requests and bounced brokers using broker generation421: Support resolving externalized secrets in AbstractConfig | 2.23.0 | ||||
37 | KIP- | 377: TopicCommand to use AdminClient420: Add Single Value Fetch in Session Stores | 2.2.0 | |||
38 | KIP- | 376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement417: Allow JmxTool to connect to a secured RMI port | 2. | 23.0 | ||
39 | KIP- | 374: Add '--help' option to all available Kafka CLI commands415: Incremental Cooperative Rebalancing in Kafka Connect | 2. | 23.0 | ||
4140 | KIP-372: Naming Repartition Topics for Joins and Grouping414: Expose Embedded ClientIds in Kafka Streams | 2.12.0 | ||||
4241 | KIP-371: Add a configuration to build custom SSL principal name412: Extend Admin API to support dynamic application log levels | 2.24.0 (WIP) | ||||
4342 | 368: Allow SASL Connections to Periodically Re-Authenticate | 2.23.0 | ||||
4443 | KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)402: Improve fairness in SocketServer processors | 2.2.0 (partially implemented) / 2.3.0 | ||||
44 | KIP-401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.4.0 (WIP)2.2.0 | ||||
45 | KIP- | 366: Make FunctionConversions deprecated396: Add Commit/List Offsets Operations to AdminClient | 2. | 14.0 (WIP) | ||
46 | KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde394: Require member.id for initial join group request | 2.12.0 | ||||
47 | KIPKIP-361: Add Consumer Configuration to Disable Auto Topic Creation393: Time windowed serde to properly deserialize changelog input topic | 2.32.0 | ||||
48 | KIP- | 359: Verify leader epoch in produce requests389: Introduce a configurable consumer group size limit | 2. | 42.0 | (WIP)||
49 | KIP-358: Migrate Streams API to Duration instead of long ms times386: Standardize on Min/Avg/Max metrics' default value | 2.12.0 | ||||
50 | KIP- | 357: Add support to list ACLs per principal382: MirrorMaker 2.0 | 2. | 14.0 | ||
51 | 356: Add withCachingDisabled() to StoreBuilder | 2. | 14.0 (WIP) | |||
52 | KIP-354: Add a Maximum Log Compaction Lag380: Detect outdated control requests and bounced brokers using broker generation | 2.32.0 | ||||
53 | KIP-353: Improve Kafka Streams Timestamp Synchronization377: TopicCommand to use AdminClient | 2.12.0 | ||||
54 | KIP-351: Add --under-min-isr option to describe topics command376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.22.3.0 | ||||
55 | KIP-346: Improve LogCleaner behavior on error | 2.1 | ||||
56 | KIP-345: Introduce static membership protocol to reduce consumer rebalances | 2.4.0 (WIP), partially available in 2.3.0 | ||||
374: Add '--help' option to all available Kafka CLI commands | 2.2.0 | |||||
56 | KIP-372: Naming Repartition Topics for Joins and Grouping | 57 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication | 2.1.0 | ||
5857 | KIP- | 341: Update Sticky Assignor's User Data Protocol371: Add a configuration to build custom SSL principal name | 2. | 32.0 | ||
58 | KIP-369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2.4.0 | ||||
59 | KIP 368: Allow SASL Connections to Periodically Re-Authenticate | 2.2 | 340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file2.1.0 | |||
60 | KIP-339: Create a new IncrementalAlterConfigs API367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.32.0 0 | ||||
61 | KIP- | 338 Support to exclude the internal topics in kafka-topics.sh command366: Make FunctionConversions deprecated | 2.1.0 | |||
62 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2.1.0 | ||||
63 | KIPKIP- | 332: Update AclCommand to use AdminClient API361: Add Consumer Configuration to Disable Auto Topic Creation | 2. | 13.0 | ||
64 | KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde360: Improve handling of unknown producer | 2.34.0 (WIP) | ||||
65 | KIP-330: Add retentionPeriod in SessionBytesStoreSupplier359: Verify leader epoch in produce requests | 2.14.0 (WIP) | ||||
66 | KIP-328358: Ability to suppress updates for KTablesMigrate Streams API to Duration instead of long ms times | 2.1.0 (partially implemented) / 2.3.0 (WIP) | ||||
67 | KIP-357: Add support to list ACLs per principal | 2.1.0 | ||||
68 | KIP-356: Add withCachingDisabled() to StoreBuilder | 67 | KIP-324: Add method to get metrics() in AdminClient | 2.1.0 | 68||
69 | KIP- | 322: Return new error code for DeleteTopics API when topic deletion disabled.354: Add a Maximum Log Compaction Lag | 2. | 13.0 | ||
6970 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes353: Improve Kafka Streams Timestamp Synchronization | 2.1.0 | ||||
7071 | KIP-320: Allow fetchers to detect and handle log truncation352: Distinguish URPs caused by reassignment | 2.14.0 (partially implemented) / 2.2WIP) | ||||
72 | KIP-351: Add --under-min-isr option to describe topics command | 2.3.0 | ||||
73 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier346: Improve LogCleaner behavior on error | 2.1.0 | ||||
7274 | KIP-313: Add KStream.flatTransform and KStream.flatTransformValues 345: Introduce static membership protocol to reduce consumer rebalances | 2.24.0 (partially implemented)/ WIP), partially available in 2.3.0 | ||||
75 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties342 Add support for custom SASL extensions in OAuthBearer authentication | 2.1.0 | ||||
7476 | KIP- | 308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides341: Update Sticky Assignor's User Data Protocol | 2. | 13.0 | ||
7577 | KIP-307340: Allow to define custom processor names with KStreams DSLkafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.31.0 (partial) | ||||
78 | KIP-306: Configuration for Delaying Response to Failed Authentication339: Create a new IncrementalAlterConfigs API | 2.13.00 | ||||
7779 | KIP- | 305: Add Connect primitive number converters338 Support to exclude the internal topics in kafka-topics.sh command | 2. | 01.0 | ||
80 | KIP-303: Add Dynamic Routing in Streams Sink336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2.01.0 | ||||
81 | KIP- | 302 - Enable Kafka clients to use all DNS resolved IP addresses332: Update AclCommand to use AdminClient API | 2.1.0 | |||
8082 | KIP-300: Add Windowed KTable API in StreamsBuilder331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.43.0 | ||||
8183 | KIP-298330: Error Handling Add retentionPeriod in ConnectSessionBytesStoreSupplier | 2.01.0 | ||||
8284 | KIP-297: Externalizing Secrets for Connect Configurations328: Ability to suppress updates for KTables | 2.0.0 | ||||
83 | KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0.0 | ||||
84 | KIP-294 - Enable TLS hostname verification by default | 2.0.0 | ||||
1.0 (partially implemented) / 2.3.0 (WIP) | ||||||
85 | KIP-292324: Add transformValuesmethod to get metrics() method to KTablein AdminClient | 2.01.0 | ||||
86 | KIP- | 290: Support for Prefixed ACLs322: Return new error code for DeleteTopics API when topic deletion disabled. | 2. | 01.0 | ||
87 | KIP-289: Improve the default group id behavior in KafkaConsumer321: Update TopologyDescription to better represent Source and Sink Nodes | 2.21.0 | ||||
88 | KIP- | 285: Connect Rest Extension Plugin320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2 | 2.0.0 | ||
89 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.01.0 | ||||
90 | KIP-283: Efficient Memory Usage for Down-Conversion313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3. 2.0.0 | ||||
91 | KIP-282: Add the listener name to the authentication context312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.01.0 | ||||
92 | KIP- | 281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.1 | 2.0.0 | ||
93 | KIP- | 279: Fix log divergence between leader and follower after fast leader fail over307: Allow to define custom processor names with KStreams DSL | 2. | 03.0 (partial) | ||
94 | KIP-278 - Add version option to Kafka's commands306: Configuration for Delaying Response to Failed Authentication | 2.01.0 | ||||
95 | KIP- | 277 - Fine Grained ACL for CreateTopics API305: Add Connect primitive number converters | 2.0.0 | |||
96 | KIP- | 276 - Add StreamsConfig prefix for different consumers303: Add Dynamic Routing in Streams Sink | 2.0.0 | |||
97 | KIP- | 274: Kafka Streams Skipped Records Metrics302 - Enable Kafka clients to use all DNS resolved IP addresses | 2. | 01.0 | ||
98 | KIP-272300: Add API version tag to broker's RequestsPerSec metricWindowed KTable API in StreamsBuilder | 2.04.0 | ||||
99 | KIP-270 - A Scala Wrapper Library for Kafka Streams298: Error Handling in Connect | 2.0.0 | ||||
100 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade297: Externalizing Secrets for Connect Configurations | 2.0.0 | |||
101 | KIP- | 267: Add Processor Unit Test Support to Kafka Streams Test Utils295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0.0 | |||
102 | KIP-266: Fix consumer indefinite blocking behavior294 - Enable TLS hostname verification by default | 2.0.0 | ||||
103 | 265: Make Windowed Serde to public APIs | Accepted2.0.0 | ||||
104 | KIP- | 261292: Add | Single Value Fetch in Window StorestransformValues() method to KTable | 2.0.0 | ||
105 | KIP-258: Allow to Store Record Timestamps in RocksDB290: Support for Prefixed ACLs | 2.30.0 (partially implemented) | ||||
106 | KIP- | 257 - Configurable Quota Management289: Improve the default group id behavior in KafkaConsumer | 2. | 02.0 | ||
107 | KIP- | 255: OAuth Authentication via SASL/OAUTHBEARER285: Connect Rest Extension Plugin | 2.0.0 | |||
108 | KIP- | 251: Allow timestamp manipulation in Processor API284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2.0.0 | |||
109 | KIP- | 249: Add Delegation Token Operations to KafkaAdminClient283: Efficient Memory Usage for Down-Conversion | 2.0.0 | |||
110 | KIP- | 247282: Add | public test utils for Kafka Streamsthe listener name to the authentication context | 2.0 | 1.1.0 | |
111 | KIP- | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2.0.0 | |||
112 | KIP- | 244: Add Record Header support to Kafka Streams Processor API279: Fix log divergence between leader and follower after fast leader fail over | 2.0.0 | |||
113 | KIP- | 243: Make ProducerConfig and ConsumerConfig constructors public278 - Add version option to Kafka's commands | 2.0 | 1.1.0 | ||
114 | KIP | -239 Add queryableStoreName() to GlobalKTable-277 - Fine Grained ACL for CreateTopics API | 2.0 | 1.1.0 | ||
115 | KIP-238: Expose Kafka cluster ID in Connect REST API276 - Add StreamsConfig prefix for different consumers | 2.01.1.0 | ||||
116 | KIP-237: More Controller Health 274: Kafka Streams Skipped Records Metrics | 2.0.0 | ||||
117 | KIP-235: Add DNS alias support for secured connection272: Add API version tag to broker's RequestsPerSec metric | 2.10.0 | ||||
118 | KIP | -233: Simplify StreamsBuilder#addGlobalStore-270 - A Scala Wrapper Library for Kafka Streams | 2.0 | 1.1.0 | ||
119 | KIP- | 231: Improve the Required ACL of ListGroups API268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2. | 10.0 | ||
120 | KIP-229: DeleteGroups API267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.01.1.0 | ||||
121 | KIP- | 227 - Introduce Incremental FetchRequests to Increase Partition Scalability266: Fix consumer indefinite blocking behavior | 2.0 | 1.1.0 | ||
122 | KIP-226 - Dynamic Broker Configuration265: Make Windowed Serde to public APIs | 2.01.1.0 | ||||
123 | KIP-225 - Use tags for consumer “records.lag” metrics261: Add Single Value Fetch in Window Stores | 2.01.1.0 | ||||
124 | KIP- | 224: Add configuration parameter `retries` to Streams API258: Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | 1.1.0|||
125 | KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer257 - Configurable Quota Management | 2.0.0 | ||||
126 | KIP- | 222 - Add Consumer Group operations to Admin API255: OAuth Authentication via SASL/OAUTHBEARER | 2.0.0 | |||
127 | KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint251: Allow timestamp manipulation in Processor API | 2.40.0 (WIP) | ||||
128 | KIP-220249: Add AdminClient into Kafka Streams' ClientSupplierDelegation Token Operations to KafkaAdminClient | 2.01.1.0 | ||||
129 | KIP-219 - Improve quota communication247: Add public test utils for Kafka Streams | 1.12.0.0 | ||||
130 | KIP-218: Make KafkaFuture.Function java 8 lambda compatible245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.01.1.0 | ||||
131 | KIP- | 215244: Add | topic regex support for Connect sinksRecord Header support to Kafka Streams Processor API | 2.0 | 1.1.0 | |
132 | KIP-214: Add zookeeper.max.in.flight.requests config to the broker243: Make ProducerConfig and ConsumerConfig constructors public | 1.1.0 | ||||
133 | KIP- | 213 Support non-key joining in KTable239 Add queryableStoreName() to GlobalKTable | 1.1.0 | 2.4.0 (WIP)|||
134 | KIP-212: Enforce set of legal characters for connector names238: Expose Kafka cluster ID in Connect REST API | 1.1.0 | ||||
135 | KIP-211: Revise Expiration Semantics of Consumer Group Offsets237: More Controller Health Metrics | 2.10.0 | ||||
136 | KIP- | 210 - Provide for custom error handling when Kafka Streams fails to produce235: Add DNS alias support for secured connection | 2 | 1.1.0 | ||
137 | KIP-208: Add SSL support to Kafka Connect REST interface233: Simplify StreamsBuilder#addGlobalStore | 1.1.0 | ||||
138 | KIP- | 207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change231: Improve the Required ACL of ListGroups API | 2. | 21.0 | ||
139 | KIP- | 206: Add support for UUID serialization and deserialization229: DeleteGroups API | 1 | 2.1.0 | ||
140 | KIP-205: Add all() and range() API to ReadOnlyWindowStore-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.1.0 | ||||
141 | KIP-204 : Adding records deletion operation to the new Admin Client API-226 - Dynamic Broker Configuration | 1.1.0 | ||||
142 | KIP-203: Add toLowerCase support to sasl.kerberos.principal.to.local rule 225 - Use tags for consumer “records.lag” metrics | 1.1.0 | ||||
143 | KIP-202: Move merge() from StreamsBuilder to KStream224: Add configuration parameter `retries` to Streams API | 1.01.0 | ||||
144 | KIP-198: Remove ZK dependency from Streams Reset Tool-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 21.0.0 | ||||
145 | KIP-197 Connect REST API should include the connector type when describing a connector222 - Add Consumer Group operations to Admin API | 21.0.0 | ||||
146 | KIP-196: Add metrics to Kafka Connect framework221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)1.0.0 | ||||
147 | KIP-195220: AdminClient.createPartitionsAdd AdminClient into Kafka Streams' ClientSupplier | 1.01.0 | ||||
148 | KIP-192 : Provide cleaner semantics when idempotence is enabled219 - Improve quota communication | 21.0.0 | ||||
149 | KIP-191218: KafkaConsumer.subscribe() overload that takes just PatternMake KafkaFuture.Function java 8 lambda compatible | 1.01.0 | ||||
150 | KIP-190: Handle client-ids consistently between clients and brokers215: Add topic regex support for Connect sinks | 1.01.0 | ||||
151 | KIP-189: Improve principal builder interface and add support for SASL214: Add zookeeper.max.in.flight.requests config to the broker | 1.01.0 | ||||
152 | KIP- | 188 - Add new metrics to support health checks213 Support non-key joining in KTable | 2.4.0 (WIP) | 1.0.0|||
153 | KIP-187 - Add cumulative count metric for all Kafka rate metrics212: Enforce set of legal characters for connector names | 1.01.0 | ||||
154 | KIP-186: Increase offsets retention default to 7 days211: Revise Expiration Semantics of Consumer Group Offsets | 2.01.0 | ||||
155 | KIP-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient210 - Provide for custom error handling when Kafka Streams fails to produce | 1.12.2.0 | ||||
156 | KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines208: Add SSL support to Kafka Connect REST interface | 1.01.0 | ||||
157 | KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.21.1.0 | ||||
158 | KIP- | 177: Consumer perf tool should count rebalance time206: Add support for UUID serialization and deserialization | 2.1 | 1.0.0 | ||
159 | KIP- | 176: Remove deprecated new-consumer option for tools205: Add all() and range() API to ReadOnlyWindowStore | 1.1 | 2.0.0 | ||
160 | KIP-175: Additional '--describe' views for ConsumerGroupCommand204 : Adding records deletion operation to the new Admin Client API | 1.1.0 | ||||
161 | KIP-174 - Deprecate and remove internal converter configs in WorkerConfig203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.12.0.0 | ||||
162 | KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs202: Move merge() from StreamsBuilder to KStream | 1.0.0 | ||||
163 | KIP-171 - Extend Consumer Group Reset Offset for Stream Application198: Remove ZK dependency from Streams Reset Tool | 1.10.0 | ||||
164 | KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster197 Connect REST API should include the connector type when describing a connector | 1.0.0 | ||||
165 | KIP-167196: Add interface for the state store restoration processmetrics to Kafka Connect framework | 1.0.0 | ||||
166 | KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics195: AdminClient.createPartitions | 1.0.0 | ||||
167 | KIP- | 163: Lower the Minimum Required ACL Permission of OffsetFetch192 : Provide cleaner semantics when idempotence is enabled | 1.0.0 | |||
168 | KIP-162: Enable topic deletion by default191: KafkaConsumer.subscribe() overload that takes just Pattern | 1.0.0 | ||||
169 | KIP-161: streams deserialization exception handlers190: Handle client-ids consistently between clients and brokers | 1.0.0 | ||||
170 | KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string189: Improve principal builder interface and add support for SASL | 1.1.0.0 | ||||
171 | KIP- | 157188 - Add | consumer config options to streams reset toolnew metrics to support health checks | 1.0.0 | ||
172 | KIP-187 - | 156 Add option "dry run" to Streams application reset toolAdd cumulative count metric for all Kafka rate metrics | 1. | 0.11.0.0 | ||
173 | KIP- | 155 - Add range scan for windowed state stores186: Increase offsets retention default to 7 days | 2 | 0.11.0.0 | ||
174 | KIP-154 Add Kafka Connect configuration properties for creating internal topics-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.20.11.0.0 | ||||
175 | KIP-153: Include only client traffic in BytesOutPerSec metric182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.0.11.0.0 | ||||
176 | KIP-152 - Improve diagnostics for SASL authentication failures180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.01.0 | ||||
177 | KIP-151 Expose Connector type in REST API177: Consumer perf tool should count rebalance time | 1.0.11.0.0 | ||||
178 | KIP- | 150 - Kafka-Streams Cogroup176: Remove deprecated new-consumer option for tools | 2. | 4.0 (WIP)0.0 | ||
179 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner175: Additional '--describe' views for ConsumerGroupCommand | 1.1.0 (partially implemented) (WIP for 2.4.0) | ||||
180 | KIP-146 - Classloading Isolation in Connect174 - Deprecate and remove internal converter configs in WorkerConfig | 2.0.11.0.0 | ||||
181 | KIP-145 - Expose Record Headers in Kafka Connect173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1.10.0 | ||||
182 | KIP-144: Exponential backoff for broker reconnect attempts171 - Extend Consumer Group Reset Offset for Stream Application | 1.1.00.11.0.0 | ||||
183 | KIP-143: Controller Health Metrics168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 1.0.11.0.0 | ||||
184 | KIP-140167: Add administrative RPCs for adding, deleting, and listing ACLsinterface for the state store restoration process | 10.11.0.0 | ||||
185 | 138: Change punctuate semantics 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 1.0.0 | ||||
186 | 137: Enhance TopicCommand --describe to show topics marked for deletion | 1 | 0.11.0.0 | |||
187 | KIP-136: Add Listener name to SelectorMetrics tags162: Enable topic deletion by default | 10.11.0.0 | ||||
188 | KIP-134: Delay initial consumer group rebalance161: streams deserialization exception handlers | 1.0.11.0.0 | ||||
189 | KIP-133: Describe and Alter Configs Admin APIs160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 1.0.11.0.0 | ||||
190 | KIP-130: Expose states of active tasks to KafkaStreams public API-157 - Add consumer config options to streams reset tool | 1.0.0 | ||||
191 | KIP- | 129: Streams Exactly-Once Semantics156 Add option "dry run" to Streams application reset tool | 0.11.0.0 | |||
192 | KIP-155 - | 128:Add | ByteArrayConverter for Kafka Connectrange scan for windowed state stores | 0.11.0.0 | ||
193 | KIP-126 - Allow KafkaProducer to split and resend oversized batches.154 Add Kafka Connect configuration properties for creating internal topics | 0.11.0.0 | ||||
194 | KIP-124 - Request rate quotas153: Include only client traffic in BytesOutPerSec metric | 0.11.0.0 | ||||
195 | KIP-123: Allow per stream/table timestamp extractor-152 - Improve diagnostics for SASL authentication failures | 1.0.11.0.0 | ||||
196 | KIP-122: Add Reset Consumer Group Offsets tooling151 Expose Connector type in REST API | 0.11.0.0 | ||||
197 | KIP-121: Add KStream peek method-150 - Kafka-Streams Cogroup | 2.4.0 (WIP)0.11.0.0 | ||||
198 | KIP-120: Cleanup Kafka Streams builder API149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0) | ||||
199 | KIP-119: Drop Support for Scala 2.10 in Kafka 0.11-146 - Classloading Isolation in Connect | 0.11.0.0 | ||||
200 | KIP-118: Drop Support for Java 7145 - Expose Record Headers in Kafka Connect | 1.12.0.0 | ||||
201 | KIP-117: Add a public AdminClient API for Kafka admin operations144: Exponential backoff for broker reconnect attempts | 0.11.0.0 | ||||
202 | KIP-115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation143: Controller Health Metrics | 0.11.0.0 | ||||
203 | KIP-114: KTable state stores and improved semantics140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.11.0.0 | ||||
204 | KIP-113: Support replicas movement between log directories138: Change punctuate semantics | 1.10.0 | ||||
205 | KIP-112: Handle disk failure for JBOD137: Enhance TopicCommand --describe to show topics marked for deletion | 0.111.0.0 | ||||
206 | KIP- | 110136: Add | Codec for ZStandard CompressionListener name to SelectorMetrics tags | 0.11.0 | 2.1.0 | |
207 | KIP-109: Old Consumer Deprecation134: Delay initial consumer group rebalance | 0.11.0.0 | ||||
208 | KIP-108: Create Topic Policy133: Describe and Alter Configs Admin APIs | 0.1011.20.0 | ||||
209 | KIP- | 107: Add deleteRecordsBefore() API in AdminClient130: Expose states of active tasks to KafkaStreams public API | 1 | 0.11.0.0 | ||
210 | KIP-106 - Change Default unclean.leader.election.enabled from True to False129: Streams Exactly-Once Semantics | 0.11.0.0 | ||||
211 | KIP-105: Addition of Record Level for Sensors128: Add ByteArrayConverter for Kafka Connect | 0.1011.20.0 | ||||
212 | KIP-104: Granular Sensors for Streams 126 - Allow KafkaProducer to split and resend oversized batches. | 0.1011.20.0 | ||||
213 | KIP-103: Separation of Internal and External traffic-124 - Request rate quotas | 0.1011.20.0 | ||||
214 | KIP-102 - Add close with timeout for consumers123: Allow per stream/table timestamp extractor | 0.1011.20.0 | ||||
215 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation122: Add Reset Consumer Group Offsets tooling | 0.11.0.0 | ||||
216 | KIP-100 - Relax Type constraints in Kafka Streams API121: Add KStream peek method | 0. 1011. 20.0 | ||||
217 | KIP-99: Add Global Tables to 120: Cleanup Kafka Streams builder API | 1.0.10.2.0 | ||||
218 | KIP-98 - Exactly Once Delivery and Transactional Messaging119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.11.0.0 | ||||
219 | KIP-97: Improved Kafka Client RPC Compatibility Policy118: Drop Support for Java 7 | 2.00.10.2.0 | ||||
220 | KIP-96 - Add per partition metrics for in-sync and assigned replica count117: Add a public AdminClient API for Kafka admin operations | 0.1011.20.0 | ||||
221 | KIP-94 Session Windows115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.1011.20.0 | ||||
222 | KIP-93: Improve invalid timestamp handling in Kafka Streams114: KTable state stores and improved semantics | 0.1011.20.0 | ||||
223 | KIP-92 - Add per partition lag metrics to KafkaConsumer113: Support replicas movement between log directories | 1.1.0.10.2.0 | ||||
224 | KIP-91 Provide Intuitive User Timeouts in The Producer112: Handle disk failure for JBOD | 1.02.1.0 | ||||
225 | KIP- | 90 - Remove zkClient dependency from Streams110: Add Codec for ZStandard Compression | 2.1. | 0.10.2.0 | ||
226 | KIP-89: Allow sink connectors to decouple flush and offset commit109: Old Consumer Deprecation | 0.1011.20.0 | ||||
227 | KIP-88: OffsetFetch Protocol Update108: Create Topic Policy | 0.10.2.0 | ||||
228 | KIP-86: Configurable SASL callback handlers107: Add deleteRecordsBefore() API in AdminClient | 0.112.0.0 | ||||
229 | -85: Dynamic JAAS configuration for Kafka clients -106 - Change Default unclean.leader.election.enabled from True to False | 0.1011.20.0 | ||||
230 | KIP-84: Support SASL SCRAM mechanisms105: Addition of Record Level for Sensors | 0.10.2.0 | ||||
231 | KIP-82 - Add Record Headers104: Granular Sensors for Streams | 0.1110.02.0 | ||||
232 | KIP-81: Bound Fetch memory usage in the consumer103: Separation of Internal and External traffic | 0.10.2.02.4.0 (WIP) | ||||
233 | KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer102 - Add close with timeout for consumers | 0.10.12.0 | ||||
234 | KIP-78: Cluster Id101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.1011.10.0 | ||||
235 | KIP-77: Improve -100 - Relax Type constraints in Kafka Streams Join SemanticsAPI | 0.10.2.0 | ||||
236 | KIP-75 - Add per-connector Converters99: Add Global Tables to Kafka Streams | 0.10.12.0 | ||||
237 | KIP-74: Add Fetch Response Size Limit in Bytes98 - Exactly Once Delivery and Transactional Messaging | 0.1011.10.0 | ||||
238 | KIP-73: Replication Quotas97: Improved Kafka Client RPC Compatibility Policy | 0.10.12.0 | ||||
239 | KIP-72: Allow putting a bound on memory consumed by Incoming request -96 - Add per partition metrics for in-sync and assigned replica count | 0.10.21.0.0 | ||||
240 | KIP-71: Enable log compaction and deletion to co-exist94 Session Windows | 0.10.12.0 | ||||
241 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change93: Improve invalid timestamp handling in Kafka Streams | 0.10.12.0 | ||||
242 | KIP-67: Queryable state for Kafka Streams-92 - Add per partition lag metrics to KafkaConsumer | 0.10.12.0 | ||||
243 | KIP-66: Single Message Transforms for Kafka Connect91 Provide Intuitive User Timeouts in The Producer | 2.1.0.10.2.0 / 0.11.0.0 | ||||
244 | KIP-65: Expose timestamps to Connect-90 - Remove zkClient dependency from Streams | 0.10.12.0 | ||||
245 | KIP-63: Unify store and downstream caching in streams89: Allow sink connectors to decouple flush and offset commit | 0.10.12.0 | ||||
246 | KIP-62: Allow consumer to send heartbeats from a background thread88: OffsetFetch Protocol Update | 0.10.12.0 | ||||
247 | KIP-60 - Make Java client classloading more flexible86: Configurable SASL callback handlers | 2.0.0.10.1.0 | ||||
248 | KIP-58 - Make Log Compaction Point Configurable85: Dynamic JAAS configuration for Kafka clients | 0.10.12.0 | ||||
249 | KIP-57 - Interoperable LZ4 Framing84: Support SASL SCRAM mechanisms | 0.10.02.0 | ||||
250 | KIP-56: Allow cross origin HTTP requests on all HTTP methods82 - Add Record Headers | 0.1011.0.0 | ||||
251 | KIP-55: Secure Quotas for Authenticated Users81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP)0.10.1.0 | ||||
252 | KIP-54: Sticky Partition Assignment Strategy79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.1110.01.0 | ||||
253 | KIP-52: Connector Control APIs78: Cluster Id | 0.10.01.0 | ||||
254 | KIP-51 - List Connectors REST API77: Improve Kafka Streams Join Semantics | 0.10.02.0 | ||||
255 | KIP-75 - 50 - Move Authorizer to o.a.k.common packageAdd per-connector Converters | 0.10.1.0 | ||||
256 | KIP-48 Delegation token support for Kafka74: Add Fetch Response Size Limit in Bytes | 0.101.1.0 | ||||
257 | KIP-45 - Standardize all client sequence interaction on j.u.Collection.73: Replication Quotas | 0.10.01.0 | ||||
258 | KIP-43: Kafka SASL enhancements72: Allow putting a bound on memory consumed by Incoming request | 10.10.0.0 | ||||
259 | KIP-42: Add Producer and Consumer Interceptors71: Enable log compaction and deletion to co-exist | 0.10.01.0 | ||||
260 | KIP-41: Consumer Max Records70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.01.0 | ||||
261 | KIP-40: ListGroups and DescribeGroup67: Queryable state for Kafka Streams | 0.910.01.0 | ||||
262 | KIP-38: ZooKeeper Authentication66: Single Message Transforms for Kafka Connect | 0.9.10.2.0 / 0.11.0.0 | ||||
263 | KIP-36 - Rack aware replica assignment65: Expose timestamps to Connect | 0.10.01.0 | ||||
264 | KIP-35 - Retrieving protocol version63: Unify store and downstream caching in streams | 0.10.01.0 | ||||
265 | KIP-33 - Add a time based log index62: Allow consumer to send heartbeats from a background thread | 0.10.1.0 | ||||
266 | KIP-32 - Add timestamps to Kafka message60 - Make Java client classloading more flexible | 0.10.01.0 | ||||
267 | KIP-31 - Move to relative offsets in compressed message sets58 - Make Log Compaction Point Configurable | 0.10.01.0 | ||||
268 | KIP-28 - Add a processor client57 - Interoperable LZ4 Framing | 0.10.0.0 | ||||
269 | KIP-26 - Add Kafka Connect framework for data import/export56: Allow cross origin HTTP requests on all HTTP methods | 0.910.0.0 | ||||
270 | KIP-25 - System test improvements55: Secure Quotas for Authenticated Users | 0.910.01.0 | ||||
271 | KIP-22 - Expose a Partitioner interface in the new producer54: Sticky Partition Assignment Strategy | 0.911.0.0 | ||||
272 | KIP-21 - Dynamic Configuration52: Connector Control APIs | 0.910.0.0 (WIP) | ||||
273 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system-51 - List Connectors REST API | 0.910.0.0 | ||||
274 | KIP-19 - Add a request timeout to NetworkClient48 Delegation token support for Kafka | 1.10.9.0.0 | ||||
275 | KIP-16 - Automated Replica Lag Tuning45 - Standardize all client sequence interaction on j.u.Collection. | 0.910.0.0 | ||||
276 | KIP-15 - Add a close method with a timeout in the producer43: Kafka SASL enhancements | 0.910.0.0 | ||||
277 | KIP-13 - Quota Design42: Add Producer and Consumer Interceptors | 0.910.0.0 | ||||
278 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation41: Consumer Max Records | 0.910.0.0 | ||||
279 | KIP-11 - Kafka Authorizer design40: ListGroups and DescribeGroup | 0.9.0.0 | ||||
280 | KIP-8 - Add a flush method to the producer API38: ZooKeeper Authentication | 0.9.0.0 | ||||
281 | KIP-4 - Metadata Protocol Changes36 - Rack aware replica assignment | 0.10.0.0 | ||||
282 | KIP-4 - Command line and centralized administrative operations35 - Retrieving protocol version | 0.910.0.0, 0 | ||||
283 | KIP-33 - Add a time based log index | 0.10.1.0 | ||||
284 | KIP-32 - Add timestamps to Kafka message | 0.10.0.0 | ||||
285 | KIP-31 - Move to relative offsets in compressed message sets | , 0.10.10.0 | ||||
283286 | KIP-3 - Mirror Maker Enhancement28 - Add a processor client | 0.910.0.0 | ||||
284287 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs26 - Add Kafka Connect framework for data import/export | 0.9.0.0 | ||||
285288 | KIP-1 - Remove support of request.required.acks25 - System test improvements | 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
...