This page describes a proposed Kafka Improvement Proposal (KIP) process for proposing a major change to Kafka.
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)....
- Click
. Take the next available KIP number and give your proposal a descriptive heading. e.g. "KIP 42: Allow Infinite Retention With Bounded Disk Usage".Create from template templateName 54329345 templateId 54329345 title KIP-NEXT: Insert Title Here buttonLabel Create KIP - Fill in the sections as described above
- Start a [DISCUSS] thread on the Apache mailing list. Please ensure that the subject of the thread is of the format [DISCUSS] KIP-{your KIP number} {your KIP heading} The and the body contains a link to your new KIP. The discussion should happen on the mailing list, not on the wiki, since the wiki comment system doesn't work well for larger discussions. In the process of the discussion you may update the proposal. You should let people know the changes you are making. When you feel you have a finalized proposal
- Once the proposal is finalized call a [VOTE] to have the proposal adopted. These proposals are more serious than code changes and more serious even than release votes. The criteria for acceptance is lazy majority. The vote should remain open for at least 72 hours.
- Please update the KIP wiki page, and the index below, to reflect the current stage of the KIP after a vote. This acts as the permanent record indicating the result of the KIP (e.g., Accepted or Rejected). Also report the result of the KIP vote to the voting thread on the mailing list so the conclusion is clear.
KIP round-up
Next KIP Number: 377526
Use this number as the identifier for your KIP and increment this value.
Adopted KIPs
Please insert new rows in sorted order (descending by KIP number).
KIP (please keep this sorted by KIP number) | Release | |||||
---|---|---|---|---|---|---|
1 | KIP-500: Replace ZooKeeper with a Self-Managed Metadata Quorum | |||||
2 | KIP- | 372: Naming Joins and Grouping Repartition Topics482: The Kafka Protocol should Support Optional Tagged Fields | 2. | 14.0 (WIP) | ||
3 | KIP | 368: Allow SASL Connections to Periodically Re-Authenticate-504 - Add new Java Authorizer Interface | 2. | 14.0 (WIP) | ||
34 | KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)503: Add metric for number of topics marked for deletion | 2.14.0 (WIP) | ||||
45 | KIP-110497: Add Codec for ZStandard Compressioninter-broker API to alter ISR | 2.14.0 (WIP) | 5||||
6 | KIP- | 366: Make FunctionConversions deprecated496: Administrative API to delete consumer offsets | 2. | 14.0 (WIP) | ||
67 | KIP-365488: MaterializedClean up Sum, Serialized, Joined, Consumed and Produced with implicit SerdeCount,Total Metrics | 2.14.0 | ||||
78 | KIPKIP-361: Add Consumer Configuration to Disable Auto Topic Creation484: Expose metrics for group and transaction metadata loading duration | 2.14.0 (WIP) | 8||||
9 | KIP- | 359: Verify leader epoch in produce requests480: Sticky Partitioner | 2. | 14.0 | ||
910 | KIP-357479: Add support to list ACLs per principalMaterialized to Join | 2.14.0(WIP) | 10||||
11 | KIP-356476: Add withCachingDisabled() to StoreBuilderJava AdminClient Interface | 2.14.0 | ||||
1112 | KIP- | 353: Improve Kafka Streams Timestamp Synchronization475: New Metrics to Measure Number of Tasks on a Connector | 2. | 14.0 (WIP) | ||
1213 | KIP- | 342 Add support for custom SASL extensions in OAuthBearer authentication474: To deprecate WindowStore#put(key, value) | 2. | 14.0 (WIP) | ||
1314 | KIP- | 341: Update Sticky Assignor's User Data Protocol471: Expose RocksDB Metrics in Kafka Streams | 2. | 14.0 (WIP) | 14||
15 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command467: Augment ProduceResponse error messaging for specific culprit records | 2.14.0 (WIP) | 15||||
16 | KIP-340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.1.0 | 16 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 465: Add Consolidated Connector Endpoint to Connect REST API | 2.3.02.1.0 (WIP) |
17 | KIP- | 332: Update AclCommand to use AdminClient API464: Defaults for AdminClient#createTopic | 2. | 14.0 | ||
18 | KIP-330: Add retentionPeriod in SessionBytesStoreSupplier462: Use local thread id for KStreams | 2.13.0 | ||||
19 | KIP-328: Ability to suppress updates for KTables461: Improve Replica Fetcher behavior at handling partition failure | 2.13.0 | ||||
20 | KIP- | 324: Add method to get metrics() in AdminClient460: Admin Leader Election RPC | 2. | 14.0 | ||
21 | KIP-322: Return new error code for DeleteTopics API when topic deletion disabled.458: Connector Client Config Override Policy | 2.13.0 | ||||
22 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes455: Create an Administrative API for Replica Reassignment | 2.14.0 (WIP) | ||||
23 | KIP-320: Allow fetchers to detect and handle log truncation454: Expansion of the ConnectClusterState interface | 2.13.0 | ||||
24 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier453: Add close() method to RocksDBConfigSetter | 2.13.0 | ||||
25 | KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides449: Add connector contexts to log messages in Connect workers | 2.13.0 | ||||
26 | KIP-306: Configuration for Delaying Response to Failed Authentication446: Add changelog topic configuration to KTable suppress | 2.14.0 (WIP) | ||||
27 | KIP- | 305: Add Connect primitive number converters445: In-memory Session Store | 2. | 03.0 | ||
28 | 303: Add Dynamic Routing in Streams Sink | 2.03.0 | ||||
29 | KIP-298: Error Handling in Connect442: Return to default max poll interval in Streams | 2.03.0 | ||||
30 | KIP-297440: Externalizing Secrets for Connect ConfigurationsExtend Connect Converter to support headers | 2.04.0 (WIP) | ||||
31 | KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization436: Add a metric indicating start time | 2.03.0 | ||||
32 | KIP-294 - Enable TLS hostname verification by default434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.04.0 (WIP) | ||||
33 | KIP-292: Add transformValues() method to KTable-430 - Return Authorized Operations in Describe Responses | 2.03.0 | ||||
34 | KIP-290: Support for Prefixed ACLs429: Kafka Consumer Incremental Rebalance Protocol | 2.04.0 (WIP) | ||||
35 | KIP- | 289: Improve the default group id behavior in KafkaConsumer428: Add in-memory window store | 2. | 13.0 | (WIP)||
36 | KIP-285: Connect Rest Extension Plugin427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2.03.0 | ||||
37 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.03.0 | ||||
38 | KIP-283: Efficient Memory Usage for Down-Conversion421: Support resolving externalized secrets in AbstractConfig | 2.03.0 | ||||
39 | KIP- | 282420: Add | the listener name to the authentication contextSingle Value Fetch in Session Stores | 2. | 02.0 | |
40 | KIP- | 281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User417: Allow JmxTool to connect to a secured RMI port | 2. | 03.0 | ||
41 | KIP-279: Fix log divergence between leader and follower after fast leader fail over415: Incremental Cooperative Rebalancing in Kafka Connect | 2.32.0.0 | ||||
42 | KIP-278 - Add version option to Kafka's commands414: Expose Embedded ClientIds in Kafka Streams | 2.02.0 | ||||
43 | KIP- | 277 - Fine Grained ACL for CreateTopics API412: Extend Admin API to support dynamic application log levels | 2. | 04.0 (WIP) | ||
44 | 276 - Add StreamsConfig prefix for different consumers | 2.03.0 | ||||
45 | KIP- | 274: Kafka Streams Skipped Records Metrics402: Improve fairness in SocketServer processors | 2.2.0 (partially implemented) / 2.3.0 | |||
46 | KIP-272: Add API version tag to broker's RequestsPerSec metric401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.04.0 (WIP) | ||||
47 | KIP-270 - A Scala Wrapper Library for Kafka Streams396: Add Commit/List Offsets Operations to AdminClient | 2.04.0 (WIP) | ||||
48 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade394: Require member.id for initial join group request | 2. | 02.0 | ||
49 | KIP- | 267: Add Processor Unit Test Support to Kafka Streams Test Utils393: Time windowed serde to properly deserialize changelog input topic | 2. | 02.0 | ||
50 | KIP- | 266389: | Fix consumer indefinite blocking behaviorIntroduce a configurable consumer group size limit | 2. | 02.0 | |
51 | KIP- | 265: Make Windowed Serde to public APIs386: Standardize on Min/Avg/Max metrics' default value | 2. | 02.0 | ||
52 | KIP- | 261: Add Single Value Fetch in Window Stores382: MirrorMaker 2.0 | 2. | 04.0 | ||
53 | 257 - Configurable Quota | 2.04.0 (WIP) | ||||
54 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER380: Detect outdated control requests and bounced brokers using broker generation | 2.02.0 | ||||
55 | KIP- | 251: Allow timestamp manipulation in Processor API377: TopicCommand to use AdminClient | 2. | 02.0 | ||
56 | KIP- | 249: Add Delegation Token Operations to KafkaAdminClient376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2. | 02.0 | ||
57 | KIP- | 247374: Add | public test utils for Kafka Streams'--help' option to all available Kafka CLI commands | 2.2 | 1.1.0 | |
58 | KIP- | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor372: Naming Repartition Topics for Joins and Grouping | 2. | 01.0 | ||
59 | KIP- | 244371: Add | Record Header support to Kafka Streams Processor APIa configuration to build custom SSL principal name | 2. | 02.0 | |
60 | KIP-243: Make ProducerConfig and ConsumerConfig constructors public369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2.41.1.0 | ||||
61 | KIP -239 Add queryableStoreName() to GlobalKTable368: Allow SASL Connections to Periodically Re-Authenticate | 2.21.1.0 | ||||
62 | KIP- | 238: Expose Kafka cluster ID in Connect REST API367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.2 | 1.1.0 | ||
63 | KIP-237: More Controller Health Metrics366: Make FunctionConversions deprecated | 2.01.0 | ||||
64 | KIP- | 233: Simplify StreamsBuilder#addGlobalStore365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2 | 1.1.0 | ||
65 | KIP-361: Add Consumer Configuration to Disable Auto Topic Creation | 2.3.0 | ||||
66 | KIP-231360: Improve the Required ACL of ListGroups APIhandling of unknown producer | 2.14.0 (WIP) | 66||||
67 | KIP-359: Verify leader epoch in produce requests | 2.4.0 (WIP) | ||||
68 | KIP-358: Migrate Streams API to Duration instead of long ms times | 2 | 229: DeleteGroups API1.1.0 | 67 | KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.1.0 |
6869 | KIP-226 - Dynamic Broker Configuration357: Add support to list ACLs per principal | 21.1.0 | ||||
69 | KIP-225 - Use tags for consumer “records.lag” metrics | 1.1.0 | ||||
70 | KIP- | 224356: Add | configuration parameter `retries` to Streams APIwithCachingDisabled() to StoreBuilder | 2 | 1.1.0 | |
71 | KIP- | 223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer354: Add a Maximum Log Compaction Lag | 2. | 03.0 | ||
72 | KIP- | 222 - Add Consumer Group operations to Admin API353: Improve Kafka Streams Timestamp Synchronization | 2. | 01.0 | ||
73 | KIP- | 220: Add AdminClient into Kafka Streams' ClientSupplier352: Distinguish URPs caused by reassignment | 2.4.0 (WIP) | 1.1.0|||
74 | KIP | -219 - Improve quota communication-351: Add --under-min-isr option to describe topics command | 2.3 | 2.0.0 | ||
75 | KIP- | 218: Make KafkaFuture.Function java 8 lambda compatible346: Improve LogCleaner behavior on error | 2.1 | 1.1.0|||
76 | KIP- | 215: Add topic regex support for Connect sinks345: Introduce static membership protocol to reduce consumer rebalances | 2.4.0 (WIP), partially available in 2.3 | 1.1.0 | ||
77 | KIP- | 214: Add zookeeper.max.in.flight.requests config to the broker342 Add support for custom SASL extensions in OAuthBearer authentication | 2 | 1.1.0 | ||
78 | KIP- | 212: Enforce set of legal characters for connector names341: Update Sticky Assignor's User Data Protocol | 2.3 | 1.1.0 | ||
79 | KIP- | 211: Revise Expiration Semantics of Consumer Group Offsets340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.1. | 0 (WIP)0 | ||
80 | KIP- | 210 - Provide for custom error handling when Kafka Streams fails to produce339: Create a new IncrementalAlterConfigs API | 2.3.0 | 1.1.0|||
81 | KIP- | 208: Add SSL support to Kafka Connect REST interface338 Support to exclude the internal topics in kafka-topics.sh command | 2 | 1.1.0 | ||
82 | KIP- | 207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2. | 01.0 | (WIP)||
83 | KIP- | 206: Add support for UUID serialization and deserialization332: Update AclCommand to use AdminClient API | 2.1.0 | |||
84 | KIP- | 205: Add all331 Add default implementation to close() and | rangeconfigure() | API to ReadOnlyWindowStore1.1for Serializer, Deserializer and Serde | 2.3.0 | |
85 | KIP- | 204 : Adding records deletion operation to the new Admin Client API330: Add retentionPeriod in SessionBytesStoreSupplier | 2 | 1.1.0 | ||
86 | KIP- | 203328: | Add toLowerCase support to sasl.kerberos.principal.to.local ruleAbility to suppress updates for KTables | 2.1.0 (partially implemented) / 2.3.0 (WIP) | 1.1.0||
87 | KIP- | 202: Move merge() from StreamsBuilder to KStream324: Add method to get metrics() in AdminClient | 2. | 1.0 | .0||
88 | KIP-198: Remove ZK dependency from Streams Reset Tool322: Return new error code for DeleteTopics API when topic deletion disabled. | 2.11.0.0 | ||||
89 | KIP- | 197 Connect REST API should include the connector type when describing a connector321: Update TopologyDescription to better represent Source and Sink Nodes | 2.1 | 1.0.0 | ||
90 | KIP- | 196320: | Add metrics to Kafka Connect frameworkAllow fetchers to detect and handle log truncation | 2. | 1.0 (partially implemented) / 2.2.0 | |
91 | KIP- | 195: AdminClient.createPartitions319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.1 | 1.0.0 | ||
92 | KIP- | 192 : Provide cleaner semantics when idempotence is enabled313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3.0 | |||
93 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.1 | 1.0.0 | 93 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern | 1.0.0 |
94 | KIP-190: Handle client-ids consistently between clients and brokers308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.11.0.0 | ||||
95 | KIP- | 189: Improve principal builder interface and add support for SASL307: Allow to define custom processor names with KStreams DSL | 2.3.0 (partial) | 1.0.0|||
96 | KIP- | 188 - Add new metrics to support health checks306: Configuration for Delaying Response to Failed Authentication | 2.1 | 1.0.0 | ||
97 | KIP-187 - Add cumulative count metric for all Kafka rate metrics305: Add Connect primitive number converters | 21.0.0 | ||||
98 | KIP- | 186: Increase offsets retention default to 7 days303: Add Dynamic Routing in Streams Sink | 2.0.0 | |||
99 | KIP- | 183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient302 - Enable Kafka clients to use all DNS resolved IP addresses | 2. | 01.0 | ||
100 | KIP- | 182: Reduce Streams DSL overloads and allow easier use of custom storage engines300: Add Windowed KTable API in StreamsBuilder | 2.4 | 1.0.0 | ||
101 | KIP- | 180: Add a broker metric specifying the number of consumer group rebalances in progress298: Error Handling in Connect | 2.0 | 1.1.0 | ||
102 | KIP- | 177: Consumer perf tool should count rebalance time297: Externalizing Secrets for Connect Configurations | 2 | 1.0.0 | ||
103 | KIP-176: Remove deprecated new-consumer option for tools295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0.0 | ||||
104 | KIP- | 175: Additional '--describe' views for ConsumerGroupCommand294 - Enable TLS hostname verification by default | 2.0 | 1.1.0 | ||
105 | 174 - Deprecate and remove internal converter configs in WorkerConfig | Accepted2.0.0 | ||||
106 | KIP- | 173292: Add | prefix to StreamsConfig to enable setting default internal topic configstransformValues() method to KTable | 2 | 1.0.0 | |
107 | KIP- | 171 - Extend Consumer Group Reset Offset for Stream Application290: Support for Prefixed ACLs | 2.0 | 1.1.0 | ||
108 | KIP- | 168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster289: Improve the default group id behavior in KafkaConsumer | 2.2 | 1.0.0 | ||
109 | KIP-167: Add interface for the state store restoration process285: Connect Rest Extension Plugin | 21.0.0 | ||||
110 | KIP- | 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2 | 1.0.0 | ||
111 | KIP-163: Lower the Minimum Required ACL Permission of OffsetFetch283: Efficient Memory Usage for Down-Conversion | 21.0.0 | ||||
112 | KIP- | 162: Enable topic deletion by default282: Add the listener name to the authentication context | 2 | 1.0.0 | ||
113 | KIP- | 161: streams deserialization exception handlers281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2 | 1.0.0 | ||
114 | KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the 279: Fix log divergence between leader and follower after fast leader fail over | 2 printed string1.0.0 | ||||
115 | KIP-157 278 - Add consumer config options to streams reset toolversion option to Kafka's commands | 21.0.0 | ||||
116 | KIP-156 Add option "dry run" to Streams application reset tool277 - Fine Grained ACL for CreateTopics API | 2.0.11.0.0 | ||||
117 | KIP- | 155276 - Add | range scan for windowed state storesStreamsConfig prefix for different consumers | 2 | 0.11.0.0 | |
118 | KIP-154 Add Kafka Connect configuration properties for creating internal topics274: Kafka Streams Skipped Records Metrics | 2.0.11.0.0 | ||||
119 | KIP- | 153: Include only client traffic in BytesOutPerSec metric272: Add API version tag to broker's RequestsPerSec metric | 2. | 0.11.0.0 | ||
120 | KIP- | 152 - Improve diagnostics for SASL authentication failures270 - A Scala Wrapper Library for Kafka Streams | 2 | 1.0.0 | ||
121 | KIP-151 Expose Connector type in REST API268: Simplify Kafka Streams Rebalance Metadata Upgrade | 20.11.0.0 | ||||
122 | KIP-150 - Kafka-Streams Cogroup267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.1.0 (WIP)0.0 | ||||
123 | KIP- | 149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner266: Fix consumer indefinite blocking behavior | 2.0.0 | |||
124 | KIP-265: Make Windowed Serde to public APIs | 2.0.0 | ||||
125 | KIP-261: Add Single Value Fetch in Window Stores | 2 | 1.1.0 (partially implemented) (WIP for 2.1.0) | 124 | KIP-146 - Classloading Isolation in Connect | 0.11.0.0 | 125
126 | KIP- | 145 - Expose Record Headers in Kafka Connect258: Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | |||
127 | KIP-257 - Configurable Quota Management | 2 | 1.1.0 | 126 | KIP-144: Exponential backoff for broker reconnect attempts | 0.11.0.0 |
127128 | KIP- | 143: Controller Health Metrics255: OAuth Authentication via SASL/OAUTHBEARER | 2 | 0.11.0.0 | ||
128129 | KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.11.0.0 | 129 | KIP-138: Change punctuate semantics | 251: Allow timestamp manipulation in Processor API | 21.0.0 |
130 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion249: Add Delegation Token Operations to KafkaAdminClient | 2.0.11.0.0 | ||||
131 | KIP-136247: Add Listener name to SelectorMetrics tagspublic test utils for Kafka Streams | 1.10.11.0.0 | ||||
132 | KIP-134: Delay initial consumer group rebalance245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 20.11.0.0 | ||||
133 | KIP- | 133: Describe and Alter Configs Admin APIs244: Add Record Header support to Kafka Streams Processor API | 2 | 0.11.0.0 | ||
134 | KIP- | 130: Expose states of active tasks to KafkaStreams public API243: Make ProducerConfig and ConsumerConfig constructors public | 1. | 01.0 | ||
135 | KIP-129: Streams Exactly-Once Semantics239 Add queryableStoreName() to GlobalKTable | 1.10.11.0.0 | ||||
136 | KIP-128238: Add ByteArrayConverter for Kafka ConnectExpose Kafka cluster ID in Connect REST API | 1.10.11.0.0 | ||||
137 | KIP-126 - Allow KafkaProducer to split and resend oversized batches.237: More Controller Health Metrics | 20.11.0.0 | ||||
138 | KIP- | 124 - Request rate quotas235: Add DNS alias support for secured connection | 2.1.0 | 0.11.0.0|||
139 | KIP-123: Allow per stream/table timestamp extractor233: Simplify StreamsBuilder#addGlobalStore | 1.10.11.0.0 | ||||
140 | KIP- | 122: Add Reset Consumer Group Offsets tooling231: Improve the Required ACL of ListGroups API | 2.1 | 0.11.0.0 | ||
141 | KIP-121: Add KStream peek method229: DeleteGroups API | 1.10.11.0.0 | ||||
142 | KIP-120: Cleanup Kafka Streams builder API-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.01.0 | ||||
143 | KIP-226 - Dynamic Broker Configuration | 1.1-119: Drop Support for Scala 2.10 in Kafka 0.110.11.0.0 | ||||
144 | KIP-118: Drop Support for Java 7225 - Use tags for consumer “records.lag” metrics | 1.12.0.0 | ||||
145 | KIP-117224: Add a public AdminClient API for Kafka admin operationsconfiguration parameter `retries` to Streams API | 1.1.00.11.0.0 | ||||
146 | KIP-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 2115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation0.11.0.0 | ||||
147 | KIP-114: KTable state stores and improved semantics-222 - Add Consumer Group operations to Admin API | 20.11.0.0 | ||||
148 | KIP-113: Support replicas movement between log directories221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)1.1.0 | ||||
149 | KIP-112: Handle disk failure for JBOD220: Add AdminClient into Kafka Streams' ClientSupplier | 1.01.0 | ||||
150 | KIP-109: Old Consumer Deprecation-219 - Improve quota communication | 2.0.11.0.0 | ||||
151 | KIP-108: Create Topic Policy218: Make KafkaFuture.Function java 8 lambda compatible | 1.1.0.10.2.0 | ||||
152 | KIP-107215: Add deleteRecordsBefore() API in AdminClienttopic regex support for Connect sinks | 1.10.11.0.0 | ||||
153 | KIP-106 - Change Default unclean.leader.election.enabled from True to False214: Add zookeeper.max.in.flight.requests config to the broker | 1.1.00.11.0.0 | ||||
154 | KIP | -105: Addition of Record Level for Sensors-213 Support non-key joining in KTable | 2.4.0 (WIP) | 0.10.2.0|||
155 | KIP-104: Granular Sensors for Streams 212: Enforce set of legal characters for connector names | 1.1.0.10.2.0 | ||||
156 | KIP-103211: Separation of Internal and External trafficRevise Expiration Semantics of Consumer Group Offsets | 2.1.0.10.2.0 | ||||
157 | KIP-102 - Add close with timeout for consumers210 - Provide for custom error handling when Kafka Streams fails to produce | 1.10.10.2.0 | ||||
158 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation208: Add SSL support to Kafka Connect REST interface | 1.10.11.0.0 | ||||
159 | KIP-100 - Relax Type constraints in Kafka Streams API207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 20.10.2.0 | ||||
160 | KIP- | 99206: Add | Global Tables to Kafka Streams0.10.2support for UUID serialization and deserialization | 2.1.0 | ||
161 | KIP-98 - Exactly Once Delivery and Transactional Messaging205: Add all() and range() API to ReadOnlyWindowStore | 1.10.11.0.0 | ||||
162 | KIP-97: Improved Kafka Client RPC Compatibility Policy204 : Adding records deletion operation to the new Admin Client API | 1.1.0.10.2.0 | ||||
163 | KIP-96 - Add per partition metrics for in-sync and assigned replica count203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.1.0.10.2.0 | ||||
164 | KIP-94 Session Windows202: Move merge() from StreamsBuilder to KStream | 1.00.10.2.0 | ||||
165 | KIP-93: Improve invalid timestamp handling in Kafka Streams198: Remove ZK dependency from Streams Reset Tool | 1.00.10.2.0 | ||||
166 | KIP-92 - Add per partition lag metrics to KafkaConsumer197 Connect REST API should include the connector type when describing a connector | 1.00.10.2.0 | ||||
167 | KIP-91 Provide Intuitive User Timeouts in The Producer196: Add metrics to Kafka Connect framework | 1.02.1.0 | ||||
168 | KIP-90 - Remove zkClient dependency from Streams195: AdminClient.createPartitions | 1.0.0.10.2.0 | ||||
169 | KIP-89: Allow sink connectors to decouple flush and offset commit192 : Provide cleaner semantics when idempotence is enabled | 1.00.10.2.0 | ||||
170 | KIP-88: OffsetFetch Protocol Update191: KafkaConsumer.subscribe() overload that takes just Pattern | 1.00.10.2.0 | ||||
171 | KIP-86: Configurable SASL callback handlers190: Handle client-ids consistently between clients and brokers | 12.0.0 | ||||
172 | KIP-85: Dynamic JAAS configuration for Kafka clients189: Improve principal builder interface and add support for SASL | 1.00.10.2.0 | ||||
173 | KIP-84: Support SASL SCRAM mechanisms188 - Add new metrics to support health checks | 1.00.10.2.0 | ||||
174 | KIP-82 187 - Add Record Headerscumulative count metric for all Kafka rate metrics | 1.0.11.0.0 | ||||
175 | KIP-81: Bound Fetch memory usage in the consumer186: Increase offsets retention default to 7 days | 2.10.0 (WIP) | ||||
176 | KIP-79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.20.10.1.0 | ||||
177 | KIP-78: Cluster Id182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.00.10.1.0 | ||||
178 | KIP-77: Improve Kafka Streams Join Semantics180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.10.10.2.0 | ||||
179 | KIP-75 - Add per-connector Converters177: Consumer perf tool should count rebalance time | 1.00.10.1.0 | ||||
180 | KIP- | 74: Add Fetch Response Size Limit in Bytes176: Remove deprecated new-consumer option for tools | 2.0. | 0.10.1.0 | ||
181 | KIP-73: Replication Quotas175: Additional '--describe' views for ConsumerGroupCommand | 10.10.1.0 | ||||
182 | KIP-72: Allow putting a bound on memory consumed by Incoming request -174 - Deprecate and remove internal converter configs in WorkerConfig | 21.0.0 | ||||
183 | KIP-71: Enable log compaction and deletion to co-exist173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1.00.10.1.0 | ||||
184 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change-171 - Extend Consumer Group Reset Offset for Stream Application | 1.0.10.1.0 | ||||
185 | KIP-67: Queryable state for Kafka Streams168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 1.0.0.10.1.0 | ||||
186 | KIP-66: Single Message Transforms for Kafka Connect167: Add interface for the state store restoration process | 10.10.2.0 / 0.11.0.0 | ||||
187 | -65: Expose timestamps to Connect -164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 1.00.10.1.0 | ||||
188 | 63: Unify store and downstream caching in streams | 1.0. | 0.10.1.0 | |||
189 | KIP-62: Allow consumer to send heartbeats from a background thread162: Enable topic deletion by default | 1.00.10.1.0 | ||||
190 | KIP-60 - Make Java client classloading more flexible161: streams deserialization exception handlers | 1.0.0.10.1.0 | ||||
191 | KIP-58 - Make Log Compaction Point Configurable160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 1.00.10.1.0 | ||||
192 | KIP- | 57 - Interoperable LZ4 Framing157 - Add consumer config options to streams reset tool | 1 | 0.10.0.0 | ||
193 | KIP- | 56: Allow cross origin HTTP requests on all HTTP methods156 Add option "dry run" to Streams application reset tool | 0. | 1011.0.0 | ||
194 | KIP | -55: Secure Quotas for Authenticated Users-155 - Add range scan for windowed state stores | 0. | 1011. | 10.0 | |
195 | KIP-54: Sticky Partition Assignment Strategy154 Add Kafka Connect configuration properties for creating internal topics | 0.11.0.0 | ||||
196 | KIP-52: Connector Control APIs153: Include only client traffic in BytesOutPerSec metric | 0.1011.0.0 | ||||
197 | KIP-51 - List Connectors REST API152 - Improve diagnostics for SASL authentication failures | 10.10.0.0 | ||||
198 | KIP-50 - Move Authorizer to o.a.k.common package151 Expose Connector type in REST API | 0.1011.10.0 | ||||
199 | KIP-48 Delegation token support for Kafka150 - Kafka-Streams Cogroup | 2.4.0 (WIP)1.1.0 | ||||
200 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0)45 - Standardize all client sequence interaction on j.u.Collection.0.10.0.0 | ||||
201 | KIP-43: Kafka SASL enhancements146 - Classloading Isolation in Connect | 0. 1011.0.0 | ||||
202 | KIP-42: Add Producer and Consumer Interceptors145 - Expose Record Headers in Kafka Connect | 1.10.10.0.0 | ||||
203 | KIP-41: Consumer Max Records144: Exponential backoff for broker reconnect attempts | 0.1011.0.0 | ||||
204 | KIP-40: ListGroups and DescribeGroup143: Controller Health Metrics | 0.911.0.0 | ||||
205 | KIP-38: ZooKeeper Authentication140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.911.0.0 | ||||
206 | KIP-36 - Rack aware replica assignment138: Change punctuate semantics | 10.10.0.0 | ||||
207 | KIP-137: Enhance TopicCommand -35 - Retrieving protocol version-describe to show topics marked for deletion | 0.1011.0.0 | ||||
208 | KIP-33 - Add a time based log index136: Add Listener name to SelectorMetrics tags | 0.1011.10.0 | ||||
209 | KIP-32 - Add timestamps to Kafka message134: Delay initial consumer group rebalance | 0.1011.0.0 | ||||
210 | KIP-31 - Move to relative offsets in compressed message sets133: Describe and Alter Configs Admin APIs | 0.1011.0.0 | ||||
211 | KIP- | 28 - Add a processor client130: Expose states of active tasks to KafkaStreams public API | 1 | 0.10.0.0 | ||
212 | KIP-26 - Add Kafka Connect framework for data import/export129: Streams Exactly-Once Semantics | 0.911.0.0 | ||||
213 | KIP-25 - System test improvements128: Add ByteArrayConverter for Kafka Connect | 0.911.0.0 | ||||
214 | KIP-22 - Expose a Partitioner interface in the new producer126 - Allow KafkaProducer to split and resend oversized batches. | 0.911.0.0 | ||||
215 | KIP-21 - Dynamic Configuration124 - Request rate quotas | 0.911.0.0 (WIP) | ||||
216 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system123: Allow per stream/table timestamp extractor | 0.911.0.0 | ||||
217 | KIP-19 - Add a request timeout to NetworkClient122: Add Reset Consumer Group Offsets tooling | 0.911.0.0 | ||||
218 | KIP-16 - Automated Replica Lag Tuning121: Add KStream peek method | 0. 911.0.0 | ||||
219 | KIP-15 - Add a close method with a timeout in the producer120: Cleanup Kafka Streams builder API | 1.0.0.9.0.0 | ||||
220 | KIP-13 - Quota Design119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.911.0.0 | ||||
221 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation118: Drop Support for Java 7 | 20.9.0.0 | ||||
222 | KIP-11 - Kafka Authorizer design117: Add a public AdminClient API for Kafka admin operations | 0.911.0.0 | ||||
223 | KIP-8 - Add a flush method to the producer API115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.911.0.0 | ||||
224 | KIP-4 - Metadata Protocol Changes114: KTable state stores and improved semantics | 0.1011.0.0 | ||||
225 | KIP-4 - Command line and centralized administrative operations0.9.0.0, 0.10.0.0, 0.10113: Support replicas movement between log directories | 1.1.0 | ||||
226 | KIP-112: Handle disk failure for JBOD | 1.0.0 | ||||
227 | KIP-110: Add Codec for ZStandard Compression | 2.1.0 | ||||
226228 | KIP-3 - Mirror Maker Enhancement109: Old Consumer Deprecation | 0.911.0.0 | ||||
227229 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs108: Create Topic Policy | 0.910.02.0 | ||||
228230 | KIP-1 - Remove support of request.required.acks107: Add deleteRecordsBefore() API in AdminClient | 0.911.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 |
---|
...
Discarded KIPs
Dormant/inactive KIPs
Please insert new rows in sorted order (ascending by KIP number).
Discarded KIPs
Please insert new rows in sorted order (ascending by KIP number).
KIP Discussion Recordings
...