...
- 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: 465541
Use this number as the identifier for your KIP and increment this value.
...
Please insert new rows in sorted order (descending by KIP number).
KIP (please keep this sorted by KIP number) | Release | ||||||
---|---|---|---|---|---|---|---|
1 | KIP-462: Use local thread id for KStreams | 2.3.0 (WIP) | 534: Reorganize checkpoint system in log cleaner to per partition | WIP | |||
2 | WIP | ||||||
3 | KIP-531: Drop support for Scala 2.11 in Kafka 2.5 | 2.5 | 2 | KIP-446: Add changelog topic configuration to KTable suppress | 2.3.0 (WIP) | 3||
4 | KIP- | 445: In-memory Session Store528: Deprecate PartitionGrouper configuration and interface | 2. | 34.0 | |||
45 | KIP-443527: Return to default segment.ms and segment.index.bytes in Streams repartition topicsAdd VoidSerde to Serdes | 2.35.0 | 5|||||
6 | KIP-525 - | 442: Return to default max poll interval in StreamsReturn topic metadata and configs in CreateTopics response | 2. | 34. | 00 | ||
67 | KIP-436: Add a metric indicating start time524: Allow users to choose config source when describing configs | 2.35.0 (WIP) | 7|||||
8 | KIP- | 417: Allow JmxTool to connect to a secured RMI port521: Enable redirection of Connect's log4j messages to a file by default | 2. | 34.0 | 8|||
9 | KIP- | 415: Incremental Cooperative Rebalancing in Kafka Connect517: Add consumer metrics to observe user poll behavior | 2. | 34.0 | (WIP)|||
910 | KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)511: Collect and Expose Client's Name and Version in the Brokers | 2.3.0 | 10 | KIP-430 - Return Authorized Operations in Describe Responses | 2.34.0 (WIP)/2.5.0(WIP) | ||
11 | KIP-428: Add in-memory window store507: Securing Internal Connect REST Endpoints | 2.34.0 | |||||
12 | KIP-425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers504 - Add new Java Authorizer Interface | 2.34.00 | |||||
13 | KIP-420503: Add Single Value Fetch in Session Storesmetric for number of topics marked for deletion | 2.24.00 | |||||
14 | KIP-500: Replace ZooKeeper with a Self-Managed Metadata Quorum | ||||||
2.3.0 (WIP) | 15 | KIP-414: Expose Embedded ClientIds in Kafka Streams497: Add inter-broker API to alter ISR | 2.25.0 (WIP) | ||||
16 | KIP-402: Improve fairness in SocketServer processors496: Administrative API to delete consumer offsets | 2.2.0 (WIP)4.0 | |||||
17 | KIP- | 394: Require member.id for initial join group request495: Dynamically Adjust Log Levels in Connect | 2. | 24.0 | |||
18 | KIP-393: Time windowed serde to properly deserialize changelog input topic492: Add java security providers in Kafka Security config | 2.24.00 | |||||
19 | KIP-386: Standardize on Min/Avg/Max metrics' default value488: Clean up Sum,Count,Total Metrics | 2.24.0 | |||||
20 | KIP-382: MirrorMaker 2.0484: Expose metrics for group and transaction metadata loading duration | 2.3.0 (WIP)4.0 | |||||
21 | KIP-380: Detect outdated control requests and bounced brokers using broker generation482: The Kafka Protocol should Support Optional Tagged Fields | 2.24.00 | |||||
22 | KIP-377: TopicCommand to use AdminClient481: SerDe Improvements for Connect Decimal type in JSON | 2.24.0 | |||||
23 | KIP- | 376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement480: Sticky Partitioner | 2. | 24.0 | |||
24 | KIP- | 374479: Add | '--help' option to all available Kafka CLI commandsMaterialized to Join | 2. | 24.0 | ||
25 | KIP-372: Naming Repartition Topics for Joins and Grouping476: Add Java AdminClient Interface | 2.14.0 | |||||
26 | KIP-371: Add a configuration to build custom SSL principal name475: New Metrics to Measure Number of Tasks on a Connector | 2.24.0 | |||||
27 | KIP 368: Allow SASL Connections to Periodically Re-Authenticate-474: To deprecate WindowStore#put(key, value) | 2.24.0 | |||||
28 | KIP- | 367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)471: Expose RocksDB Metrics in Kafka Streams | 2.4.0 (partially implemented) / 2.5 | 2.2.0 | |||
29 | KIP- | 366: Make FunctionConversions deprecated470: TopologyTestDriver test input and output usability improvements | 2. | 14. | 00 | ||
30 | KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde467: Augment ProduceResponse error messaging for specific culprit records | 2.4.0 (partially implemented) / 2.52.1.0 | |||||
31 | KIPKIP-361466: Add Consumer Configuration to Disable Auto Topic Creationsupport for List<T> serialization and deserialization | 2.34.0 (WIP) | |||||
32 | KIP-359: Verify leader epoch in produce requests465: Add Consolidated Connector Endpoint to Connect REST API | 2.3.0 (WIP) | |||||
33 | KIP-358: Migrate Streams API to Duration instead of long ms times464: Defaults for AdminClient#createTopic | 2.14.0 | |||||
34 | KIP- | 357: Add support to list ACLs per principal462: Use local thread id for KStreams | 2. | 13.0 | |||
35 | KIP-356: Add withCachingDisabled() to StoreBuilder461: Improve Replica Fetcher behavior at handling partition failure | 2.13.0 | |||||
36 | KIP- | 353: Improve Kafka Streams Timestamp Synchronization460: Admin Leader Election RPC | 2. | 14.0 | |||
37 | KIP- | 351: Add --under-min-isr option to describe topics command458: Connector Client Config Override Policy | 2.3.0 | ||||
38 | KIP-346: Improve LogCleaner behavior on error455: Create an Administrative API for Replica Reassignment | 2.14.0 (WIP) | |||||
39 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication454: Expansion of the ConnectClusterState interface | 2.13.0 | |||||
40 | KIP-341: Update Sticky Assignor's User Data Protocol453: Add close() method to RocksDBConfigSetter | 2.3.0 (WIP) | |||||
41 | KIP- | 340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file449: Add connector contexts to log messages in Connect workers | 2.3 | 2.1.0 | |||
42 | KIP-339: Create a new IncrementalAlterConfigs API446: Add changelog topic configuration to KTable suppress | 2.3.0 5.0 (WIP) | |||||
43 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command445: In-memory Session Store | 2.13.0 | |||||
44 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer444: Augment metrics for Kafka Streams | 2.14.0 (WIP) | |||||
45 | 332 | Update AclCommand to use AdminClient API | 2. | 13.0 | |||
46 | KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde442: Return to default max poll interval in Streams | 2.3.0 (WIP) | |||||
47 | KIP-330: Add retentionPeriod in SessionBytesStoreSupplier440: Extend Connect Converter to support headers | 2.14.0 | |||||
48 | KIP-328: Ability to suppress updates for KTables436: Add a metric indicating start time | 2.1.0 (partially implemented) / 2.3.0 (WIP) | |||||
49 | KIP-324: Add method to get metrics() in AdminClient434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.14.0 (WIP) | |||||
50 | KIP-430 - | 322: Return new error code for DeleteTopics API when topic deletion disabled.Return Authorized Operations in Describe Responses | 2. | 13.0 | |||
51 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes429: Kafka Consumer Incremental Rebalance Protocol | 2.14.0 (WIP) | |||||
52 | KIP- | 320: Allow fetchers to detect and handle log truncation428: Add in-memory window store | 2. | 13.0 | (partially implemented) / 2.2.0|||
53 | KIP- | 319: Replace segments with segmentInterval in WindowBytesStoreSupplier427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2. | 13.0 | |||
54 | KIP-313: Add KStream.flatTransform and KStream.flatTransformValues 425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.2.0 (partially implemented)3.0 | |||||
55 | KIP-421: Support resolving externalized secrets in AbstractConfig | / 2.3.0 | 55|||||
56 | KIP- | 312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties420: Add Single Value Fetch in Session Stores | 2. | 12.0 | |||
5657 | KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.1.0 | 57 | KIP-306: Configuration for Delaying Response to Failed Authentication | 417: Allow JmxTool to connect to a secured RMI port | 2.3 | 2.1.0 |
58 | KIP-305: Add Connect primitive number converters415: Incremental Cooperative Rebalancing in Kafka Connect | 2.03.0 | |||||
59 | KIP-303: Add Dynamic Routing in Streams Sink414: Expose Embedded ClientIds in Kafka Streams | 2.02.0 | |||||
60 | KIP- | 302 - Enable Kafka clients to use all DNS resolved IP addresses412: Extend Admin API to support dynamic application log levels | 2. | 14. | 00 | ||
61 | 298: Error Handling in Connect | 2. | 03.0 | ||||
62 | KIP-297: Externalizing Secrets for Connect Configurations402: Improve fairness in SocketServer processors | 2.2.0 (partially implemented) / 2.3.0 | |||||
63 | KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.05.0 (WIP) | |||||
64 | KIP-294 - Enable TLS hostname verification by default396: Add Commit/List Offsets Operations to AdminClient | 2.05.0 (WIP) | |||||
65 | KIP-292: Add transformValues() method to KTable394: Require member.id for initial join group request | 2.02.0 | |||||
66 | KIP-290: Support for Prefixed ACLs393: Time windowed serde to properly deserialize changelog input topic | 2.02.0 | |||||
67 | KIP-289: Improve the default group id behavior in KafkaConsumer392: Allow consumers to fetch from closest replica | 2.24.0 | |||||
68 | KIP-285: Connect Rest Extension Plugin389: Introduce a configurable consumer group size limit | 2.02.0 | |||||
69 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE386: Standardize on Min/Avg/Max metrics' default value | 2.02.0 | |||||
70 | KIP-283: Efficient Memory Usage for Down-Conversion382: MirrorMaker 2.0 | 2.04.0 | |||||
71 | 282: Add the listener name to the authentication context | 2. | 04. | 00 | |||
72 | KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User380: Detect outdated control requests and bounced brokers using broker generation | 2.02.0 | |||||
73 | KIP- | 279: Fix log divergence between leader and follower after fast leader fail over377: TopicCommand to use AdminClient | 2. | 02.0 | |||
74 | KIP-278 - Add version option to Kafka's commands376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.02.0 | |||||
75 | KIP-374: Add '-277 - Fine Grained ACL for CreateTopics API-help' option to all available Kafka CLI commands | 2.02.0 | |||||
76 | KIP- | 276 - Add StreamsConfig prefix for different consumers372: Naming Repartition Topics for Joins and Grouping | 2. | 01.0 | |||
77 | KIP-274: Kafka Streams Skipped Records Metrics371: Add a configuration to build custom SSL principal name | 2.02.0 | |||||
78 | KIP- | 272: Add API version tag to broker's RequestsPerSec metric369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2. | 04.0 | |||
79 | KIP | -270 - A Scala Wrapper Library for Kafka Streams368: Allow SASL Connections to Periodically Re-Authenticate | 2. | 02.0 | |||
80 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2. | 02.0 | |||
81 | KIP-267: Add Processor Unit Test Support to Kafka Streams Test Utils366: Make FunctionConversions deprecated | 2.01.0 | |||||
82 | KIP-266: Fix consumer indefinite blocking behavior365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2.01.0 | |||||
83 | KIPKIP- | 265: Make Windowed Serde to public APIs361: Add Consumer Configuration to Disable Auto Topic Creation | 2. | 03.0 | |||
84 | KIP- | 261: Add Single Value Fetch in Window Stores360: Improve handling of unknown producer | 2. | 04.0 (WIP) | |||
85 | KIP-258: Allow to Store Record Timestamps in RocksDB359: Verify leader epoch in produce requests | 2.34.0 (WIP) | |||||
86 | KIP- | 257 - Configurable Quota Management358: Migrate Streams API to Duration instead of long ms times | 2. | 01.0 | |||
87 | KIP- | 255: OAuth Authentication via SASL/OAUTHBEARER357: Add support to list ACLs per principal | 2. | 01.0 | |||
88 | KIP- | 251: Allow timestamp manipulation in Processor API356: Add withCachingDisabled() to StoreBuilder | 2. | 01.0 | |||
89 | KIP- | 249354: Add | Delegation Token Operations to KafkaAdminClienta Maximum Log Compaction Lag | 2. | 03.0 | ||
90 | KIP- | 247: Add public test utils for353: Improve Kafka Streams Timestamp Synchronization | 12.1.0 | ||||
91 | KIP- | 245: Use Properties instead of StreamsConfig in KafkaStreams constructor352: Distinguish URPs caused by reassignment | 2. | 05. | 00 | ||
92 | KIP-244351: Add Record Header support to Kafka Streams Processor API--under-min-isr option to describe topics command | 2.03.0 | |||||
93 | KIP- | 243: Make ProducerConfig and ConsumerConfig constructors public346: Improve LogCleaner behavior on error | 2.1 | 1.1.0||||
94 | KIP- | 239 Add queryableStoreName() to GlobalKTable345: Introduce static membership protocol to reduce consumer rebalances | 2.4.0 (WIP), partially available in 2.3 | 1.1.0 | |||
95 | KIP- | 238: Expose Kafka cluster ID in Connect REST API342 Add support for custom SASL extensions in OAuthBearer authentication | 2 | 1.1.0 | |||
96 | KIP- | 237: More Controller Health Metrics341: Update Sticky Assignor's User Data Protocol | 2. | 03.0 | |||
97 | KIP-235: Add DNS alias support for secured connection340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.1.0 | |||||
98 | KIP- | 233: Simplify StreamsBuilder#addGlobalStore339: Create a new IncrementalAlterConfigs API | 2.3.0 | 1.1.0||||
99 | KIP-231: Improve the Required ACL of ListGroups API338 Support to exclude the internal topics in kafka-topics.sh command | 2.1.0 | |||||
100 | KIP- | 229: DeleteGroups API336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2 | 1.1.0 | |||
101 | KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability332: Update AclCommand to use AdminClient API | 21.1.0 | |||||
102 | KIP- | 226 - Dynamic Broker Configuration331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.3 | 1.1.0 | |||
103 | KIP- | 225 - Use tags for consumer “records.lag” metrics330: Add retentionPeriod in SessionBytesStoreSupplier | 2 | 1.1.0 | |||
104 | KIP- | 224: Add configuration parameter `retries` to Streams API328: Ability to suppress updates for KTables | 2.1.0 (partially implemented) / 2.3.0 (WIP) | 1.1.0||||
105 | KIP- | 223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer324: Add method to get metrics() in AdminClient | 2. | 01.0 | |||
106 | KIP-222 - Add Consumer Group operations to Admin API322: Return new error code for DeleteTopics API when topic deletion disabled. | 2.01.0 | |||||
107 | KIP- | 220: Add AdminClient into Kafka Streams' ClientSupplier321: Update TopologyDescription to better represent Source and Sink Nodes | 2 | 1.1.0 | |||
108 | KIP- | 219 - Improve quota communication320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2 | 2.0.0 | |||
109 | KIP- | 218: Make KafkaFuture.Function java 8 lambda compatible319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2 | 1.1.0 | |||
110 | KIP- | 215: Add topic regex support for Connect sinks313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3 | 1.1.0 | |||
111 | KIP- | 214: Add zookeeper.max.in.flight.requests config to the broker312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2 | 1.1.0 | |||
112 | KIP-213 Support non-key joining in KTable309: Add toUpperCase support to sasl.kerberos.principal.to.local rule | 2.34.0 (WIP) | |||||
113 | KIP-212: Enforce set of legal characters for connector names308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 21.1.0 | |||||
114 | KIP- | 211: Revise Expiration Semantics of Consumer Group Offsets307: Allow to define custom processor names with KStreams DSL | 2. | 13.0 (partial) | |||
115 | KIP- | 210 - Provide for custom error handling when Kafka Streams fails to produce306: Configuration for Delaying Response to Failed Authentication | 2 | 1.1.0 | |||
116 | KIP-208305: Add SSL support to Kafka Connect REST interfaceConnect primitive number converters | 2.01.1.0 | |||||
117 | KIP- | 207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change303: Add Dynamic Routing in Streams Sink | 2. | 20.0 | |||
118 | KIP-206: Add support for UUID serialization and deserialization-302 - Enable Kafka clients to use all DNS resolved IP addresses | 2.1.0 | |||||
119 | KIP- | 205300: Add | all() and range() API to ReadOnlyWindowStoreWindowed KTable API in StreamsBuilder | 3.0.0 (WIP) | 1.1.0|||
120 | KIP- | 204 : Adding records deletion operation to the new Admin Client API298: Error Handling in Connect | 2.0 | 1.1.0 | |||
121 | KIP- | 203: Add toLowerCase support to sasl.kerberos.principal.to.local rule297: Externalizing Secrets for Connect Configurations | 2.0 | 1.1.0 | |||
122 | KIP- | 202: Move merge() from StreamsBuilder to KStream295 Add Streams Configuration Allowing for Optional Topology Optimization | 2 | 1.0.0 | |||
123 | KIP | -198: Remove ZK dependency from Streams Reset Tool-294 - Enable TLS hostname verification by default | 2 | 1.0.0 | |||
124 | 197 Connect REST API should include the connector type when describing a connector | Accepted1.0.0 | |||||
125 | KIP- | 196292: Add | metrics to Kafka Connect frameworktransformValues() method to KTable | 2 | 1.0.0 | ||
126 | KIP- | 195: AdminClient.createPartitions290: Support for Prefixed ACLs | 2 | 1.0.0 | |||
127 | KIP- | 192 : Provide cleaner semantics when idempotence is enabled289: Improve the default group id behavior in KafkaConsumer | 2.2 | 1.0.0 | |||
128 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern285: Connect Rest Extension Plugin | 21.0.0 | |||||
129 | KIP- | 190: Handle client-ids consistently between clients and brokers284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2 | 1.0.0 | |||
130 | KIP- | 189: Improve principal builder interface and add support for SASL283: Efficient Memory Usage for Down-Conversion | 2 | 1.0.0 | |||
131 | KIP- | 188 - Add new metrics to support health checks282: Add the listener name to the authentication context | 2 | 1.0.0 | |||
132 | KIP- | 187 - Add cumulative count metric for all Kafka rate metrics281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2 | 1.0.0 | |||
133 | KIP-186: Increase offsets retention default to 7 days279: Fix log divergence between leader and follower after fast leader fail over | 2.0.0 | |||||
134 | KIP- | 183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient278 - Add version option to Kafka's commands | 2. | 20.0 | |||
135 | KIP | -182: Reduce Streams DSL overloads and allow easier use of custom storage engines-277 - Fine Grained ACL for CreateTopics API | 2 | 1.0.0 | |||
136 | KIP-276 - 180: Add a broker metric specifying the number of consumer group rebalances in progressAdd StreamsConfig prefix for different consumers | 2.01.1.0 | |||||
137 | KIP-177: Consumer perf tool should count rebalance time274: Kafka Streams Skipped Records Metrics | 21.0.0 | |||||
138 | KIP-176: Remove deprecated new-consumer option for tools272: Add API version tag to broker's RequestsPerSec metric | 2.0.0 | |||||
139 | KIP- | 175: Additional '--describe' views for ConsumerGroupCommand270 - A Scala Wrapper Library for Kafka Streams | 2.0 | 1.1.0 | |||
140 | KIP-174 - Deprecate and remove internal converter configs in WorkerConfig268: Simplify Kafka Streams Rebalance Metadata Upgrade | 2.0.0 | |||||
141 | KIP-173267: Add prefix to StreamsConfig to enable setting default internal topic configsProcessor Unit Test Support to Kafka Streams Test Utils | 21.0.0 | |||||
142 | KIP- | 171 - Extend Consumer Group Reset Offset for Stream Application266: Fix consumer indefinite blocking behavior | 2.0 | 1.1.0 | |||
143 | KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster265: Make Windowed Serde to public APIs | 21.0.0 | |||||
144 | KIP-167261: Add interface for the state store restoration processSingle Value Fetch in Window Stores | 21.0.0 | |||||
145 | KIP- | 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics258: Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | 1.0.0||||
146 | KIP | -163: Lower the Minimum Required ACL Permission of OffsetFetch-257 - Configurable Quota Management | 2 | 1.0.0 | |||
147 | KIP- | 162: Enable topic deletion by default255: OAuth Authentication via SASL/OAUTHBEARER | 2 | 1.0.0 | |||
148 | KIP-161: streams deserialization exception handlers251: Allow timestamp manipulation in Processor API | 21.0.0 | |||||
149 | KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string249: Add Delegation Token Operations to KafkaAdminClient | 21.0.0 | |||||
150 | KIP- | 157 - Add consumer config options to streams reset tool247: Add public test utils for Kafka Streams | 1. | 01.0 | |||
151 | KIP- | 156 Add option "dry run" to Streams application reset tool245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2. | 0.11.0.0 | |||
152 | KIP-155 - Add range scan for windowed state stores244: Add Record Header support to Kafka Streams Processor API | 20.11.0.0 | |||||
153 | KIP-154 Add Kafka Connect configuration properties for creating internal topics243: Make ProducerConfig and ConsumerConfig constructors public | 1.10.11.0.0 | |||||
154 | KIP-153: Include only client traffic in BytesOutPerSec metric239 Add queryableStoreName() to GlobalKTable | 1.10.11.0.0 | |||||
155 | KIP-152 - Improve diagnostics for SASL authentication failures238: Expose Kafka cluster ID in Connect REST API | 1.01.0 | |||||
156 | KIP-151 Expose Connector type in REST API237: More Controller Health Metrics | 2.0.11.0.0 | |||||
157 | KIP- | 150 - Kafka-Streams Cogroup235: Add DNS alias support for secured connection | 2. | 3.0 (WIP)1.0 | |||
158 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner233: Simplify StreamsBuilder#addGlobalStore | 1.1.0 (partially implemented) (WIP for 2.3.0) | |||||
159 | KIP-146 - Classloading Isolation in Connect | 0.11.0.0 | |||||
159 | KIP-231: Improve the Required ACL of ListGroups API | 2.1.0 | |||||
160 | KIP-229: DeleteGroups API | 1.1.0 | |||||
161 | KIP-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 160 | KIP-145 - Expose Record Headers in Kafka Connect | 1.1.0 | |||
161162 | KIP-144: Exponential backoff for broker reconnect attempts | 0.11.0.0 | |||||
162 | KIP-143: Controller Health Metrics | 0.11.0.0 | |||||
226 - Dynamic Broker Configuration | 1.1.0 | ||||||
163 | KIP-225 - Use tags for consumer “records.lag” metrics | 1.1.0 | 163 | KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.11.0.0 | ||
164 | KIP-138: Change punctuate semantics224: Add configuration parameter `retries` to Streams API | 1.01.0 | |||||
165 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 20.11.0.0 | |||||
166 | KIP-136: Add Listener name to SelectorMetrics tags222 - Add Consumer Group operations to Admin API | 2.0.11.0.0 | |||||
167 | KIP-134: Delay initial consumer group rebalance221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP)0.11.0.0 | |||||
168 | KIP-133: Describe and Alter Configs Admin APIs220: Add AdminClient into Kafka Streams' ClientSupplier | 1.10.11.0.0 | |||||
169 | KIP | -130: Expose states of active tasks to KafkaStreams public API-219 - Improve quota communication | 2 | 1.0.0 | |||
170 | KIP-129: Streams Exactly-Once Semantics218: Make KafkaFuture.Function java 8 lambda compatible | 1.1.00.11.0.0 | |||||
171 | KIP-128215: Add ByteArrayConverter topic regex support for Kafka Connect sinks | 01.111.0.0 | |||||
172 | KIP-126 - Allow KafkaProducer to split and resend oversized batches. | 0.11.0.0 | 214: Add zookeeper.max.in.flight.requests config to the broker | 1.1.0 | |||
173 | KIP- | 124 - Request rate quotas213 Support non-key joining in KTable | 2.4.0 (WIP) | 0.11.0.0||||
174 | KIP-123: Allow per stream/table timestamp extractor212: Enforce set of legal characters for connector names | 1.1.00.11.0.0 | |||||
175 | KIP-122: Add Reset 211: Revise Expiration Semantics of Consumer Group Offsets tooling | 02.11.01.0 | |||||
176 | KIP-121: Add KStream peek method-210 - Provide for custom error handling when Kafka Streams fails to produce | 1.1.00.11.0.0 | |||||
177 | KIP-120: Cleanup Kafka Streams builder API208: Add SSL support to Kafka Connect REST interface | 1.01.0 | |||||
178 | KIP-207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.2119: Drop Support for Scala 2.10 in Kafka 0.110.11.0.0 | |||||
179 | KIP- | 118206: | Drop Support for Java 7Add support for UUID serialization and deserialization | 2. | 01.0 | ||
180 | KIP-117205: Add a public AdminClient API for Kafka admin operationsall() and range() API to ReadOnlyWindowStore | 1.1.00.11.0.0 | |||||
181 | KIP-204 : Adding records deletion operation to the new Admin Client API | 1.1115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation0.11.0.0 | |||||
182 | KIP-114: KTable state stores and improved semantics | 0.11.0.0 | 203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.1.0 | |||
183 | KIP-113: Support replicas movement between log directories202: Move merge() from StreamsBuilder to KStream | 1.10.0 | |||||
184 | KIP-112: Handle disk failure for JBOD198: Remove ZK dependency from Streams Reset Tool | 1.0.0 | |||||
185 | KIP- | 110: Add Codec for ZStandard Compression197 Connect REST API should include the connector type when describing a connector | 1.0 | 2.1.0 | |||
186 | KIP-109: Old Consumer Deprecation196: Add metrics to Kafka Connect framework | 10.11.0.0 | |||||
187 | KIP-108: Create Topic Policy195: AdminClient.createPartitions | 1.00.10.2.0 | |||||
188 | KIP-107: Add deleteRecordsBefore() API in AdminClient192 : Provide cleaner semantics when idempotence is enabled | 1.0.11.0.0 | |||||
189 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern | 1.106 - Change Default unclean.leader.election.enabled from True to False0.11.0.0 | |||||
190 | KIP-105: Addition of Record Level for Sensors190: Handle client-ids consistently between clients and brokers | 1.0.0.10.2.0 | |||||
191 | KIP-104: Granular Sensors for Streams 189: Improve principal builder interface and add support for SASL | 1.0.0.10.2.0 | |||||
192 | KIP-103: Separation of Internal and External traffic188 - Add new metrics to support health checks | 1.00.10.2.0 | |||||
193 | KIP-102 187 - Add close with timeout for consumerscumulative count metric for all Kafka rate metrics | 1.00.10.2.0 | |||||
194 | KIP-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation186: Increase offsets retention default to 7 days | 20.11.0.0 | |||||
195 | KIP-100 - Relax Type constraints in Kafka Streams API183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 20.10.2.0 | |||||
196 | KIP-99: Add Global Tables to Kafka Streams182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.00.10.2.0 | |||||
197 | KIP-98 - Exactly Once Delivery and Transactional Messaging180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.10.11.0.0 | |||||
198 | KIP-97: Improved Kafka Client RPC Compatibility Policy177: Consumer perf tool should count rebalance time | 1.0.0.10.2.0 | |||||
199 | KIP- | 96 - Add per partition metrics for in-sync and assigned replica count176: Remove deprecated new-consumer option for tools | 2.0 | 0.10.2.0 | |||
200 | KIP-94 Session Windows-175: Additional '--describe' views for ConsumerGroupCommand | 1.1.0.10.2.0 | |||||
201 | KIP-93: Improve invalid timestamp handling in Kafka Streams174 - Deprecate and remove internal converter configs in WorkerConfig | 2.0.0.10.2.0 | |||||
202 | KIP-92 - Add per partition lag metrics to KafkaConsumer173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1.00.10.2.0 | |||||
203 | KIP-91 Provide Intuitive User Timeouts in The Producer-171 - Extend Consumer Group Reset Offset for Stream Application | 12.1.0 | |||||
204 | KIP-90 - Remove zkClient dependency from Streams168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 1.0.0.10.2.0 | |||||
205 | KIP-89: Allow sink connectors to decouple flush and offset commit167: Add interface for the state store restoration process | 1.0.0.10.2.0 | |||||
206 | 88: OffsetFetch Protocol Update 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 1.00.10.2.0 | |||||
207 | 86: Configurable SASL callback handlers | 1 | 2.0.0 | ||||
208 | KIP-85: Dynamic JAAS configuration for Kafka clients162: Enable topic deletion by default | 1.0.0.10.2.0 | |||||
209 | KIP-84: Support SASL SCRAM mechanisms161: streams deserialization exception handlers | 1.0.0.10.2.0 | |||||
210 | KIP-82 - Add Record Headers160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 10.11.0.0 | |||||
211 | KIP | -81: Bound Fetch memory usage in the consumer-157 - Add consumer config options to streams reset tool | 1.0.0 | 2.2.0 (WIP)||||
212 | KIP- | 79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer156 Add option "dry run" to Streams application reset tool | 0. | 1011. | 10.0 | ||
213 | KIP | -78: Cluster Id-155 - Add range scan for windowed state stores | 0. | 1011. | 10.0 | ||
214 | KIP-77: Improve Kafka Streams Join Semantics154 Add Kafka Connect configuration properties for creating internal topics | 0.11.00.10.2.0 | |||||
215 | KIP-75 - Add per-connector Converters153: Include only client traffic in BytesOutPerSec metric | 0.1011.10.0 | |||||
216 | KIP-74: Add Fetch Response Size Limit in Bytes-152 - Improve diagnostics for SASL authentication failures | 1.0.0.10.1.0 | |||||
217 | KIP-73: Replication Quotas151 Expose Connector type in REST API | 0.1011.10.0 | |||||
218 | KIP-72: Allow putting a bound on memory consumed by Incoming request 150 - Kafka-Streams Cogroup | 2.5.0 (WIP)1.0.0 | |||||
219 | KIP-71: Enable log compaction and deletion to co-exist | 0.10.1.0 | 149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0) | |||
220 | KIP-146 - Classloading Isolation in Connect | 0.11.0 | 220 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.1 .0 | ||
221 | KIP-67: Queryable state for Kafka Streams145 - Expose Record Headers in Kafka Connect | 10.10.1.0 | |||||
222 | KIP-66: Single Message Transforms for Kafka Connect144: Exponential backoff for broker reconnect attempts | 0.10.2.0 / 0.11.0.0 | |||||
223 | KIP-65: Expose timestamps to Connect143: Controller Health Metrics | 0.1011.10.0 | |||||
224 | KIP-63: Unify store and downstream caching in streams140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.1011.10.0 | |||||
225 | KIP-62: Allow consumer to send heartbeats from a background thread138: Change punctuate semantics | 1.0.0.10.1.0 | |||||
226 | KIP-60 - Make Java client classloading more flexible137: Enhance TopicCommand --describe to show topics marked for deletion | 0.1011.10.0 | |||||
227 | KIP-58 - Make Log Compaction Point Configurable136: Add Listener name to SelectorMetrics tags | 0.1011.10.0 | |||||
228 | KIP-57 - Interoperable LZ4 Framing134: Delay initial consumer group rebalance | 0.1011.0.0 | |||||
229 | KIP-56: Allow cross origin HTTP requests on all HTTP methods133: Describe and Alter Configs Admin APIs | 0.1011.0.0 | |||||
230 | KIP- | 55: Secure Quotas for Authenticated Users130: Expose states of active tasks to KafkaStreams public API | 1.0 | 0.10.1.0 | |||
231 | KIP-54: Sticky Partition Assignment Strategy129: Streams Exactly-Once Semantics | 0.11.0.0 | |||||
232 | KIP-52: Connector Control APIs128: Add ByteArrayConverter for Kafka Connect | 0.1011.0.0 | |||||
233 | KIP-51 - List Connectors REST API126 - Allow KafkaProducer to split and resend oversized batches. | 0.1011.0.0 | |||||
234 | KIP-50 - Move Authorizer to o.a.k.common package124 - Request rate quotas | 0.1011.10.0 | |||||
235 | KIP-48 Delegation token support for Kafka123: Allow per stream/table timestamp extractor | 0.11.01.1.0 | |||||
236 | KIP-45 - Standardize all client sequence interaction on j.u.Collection.122: Add Reset Consumer Group Offsets tooling | 0.1011.0.0 | |||||
237 | KIP-43: Kafka SASL enhancements121: Add KStream peek method | 0. 1011.0.0 | |||||
238 | KIP-42: Add Producer and Consumer Interceptors120: Cleanup Kafka Streams builder API | 1.0.10.0.0 | |||||
239 | KIP-41: Consumer Max Records119: Drop Support for Scala 2.10 in Kafka 0.11 | 0.1011.0.0 | |||||
240 | KIP-40: ListGroups and DescribeGroup118: Drop Support for Java 7 | 2.0.9.0.0 | |||||
241 | KIP-38: ZooKeeper Authentication117: Add a public AdminClient API for Kafka admin operations | 0.911.0.0 | |||||
242 | KIP-36 - Rack aware replica assignment115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.1011.0.0 | |||||
243 | KIP-35 - Retrieving protocol version114: KTable state stores and improved semantics | 0.1011.0.0 | |||||
244 | KIP-33 - Add a time based log index113: Support replicas movement between log directories | 1.0.10.1.0 | |||||
245 | KIP-32 - Add timestamps to Kafka message112: Handle disk failure for JBOD | 1.0.10.0.0 | |||||
246 | KIP- | 31 - Move to relative offsets in compressed message sets110: Add Codec for ZStandard Compression | 2.1.0 | 0.10.0.0||||
247 | KIP-28 - Add a processor client109: Old Consumer Deprecation | 0.1011.0.0 | |||||
248 | KIP-26 - Add Kafka Connect framework for data import/export108: Create Topic Policy | 0.910.02.0 | |||||
249 | KIP-25 - System test improvements107: Add deleteRecordsBefore() API in AdminClient | 0.911.0.0 | |||||
250 | 22 - Expose a Partitioner interface in the new producer | 0.9.0.0 | 251 | KIP-21 - Dynamic Configuration | 106 - Change Default unclean.leader.election.enabled from True to False | 0.110.9.0.0 (WIP) | |
252251 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system105: Addition of Record Level for Sensors | 0.910.02.0 | |||||
253252 | KIP-19 - Add a request timeout to NetworkClient104: Granular Sensors for Streams | 0.910.02.0 | |||||
254253 | KIP-16 - Automated Replica Lag Tuning103: Separation of Internal and External traffic | 0.910.02.0 | |||||
255254 | KIP-15 102 - Add a close method with a timeout in the producerfor consumers | 0.910.02.0 | |||||
256255 | KIP-13 - Quota Design101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.110.9.0.0 | |||||
257256 | KIP-12 100 - Kafka Sasl/Kerberos and SSL implementationRelax Type constraints in Kafka Streams API | 0.910.02.0 | |||||
258257 | KIP-11 - Kafka Authorizer design99: Add Global Tables to Kafka Streams | 0.910.02.0 | |||||
259258 | KIP-8 - Add a flush method to the producer API98 - Exactly Once Delivery and Transactional Messaging | 0.911.0.0 | |||||
260259 | KIP-4 - Metadata Protocol Changes97: Improved Kafka Client RPC Compatibility Policy | 0.10.02.0 | |||||
261260 | KIP-4 - Command line and centralized administrative operations-96 - Add per partition metrics for in-sync and assigned replica count | 0.910.02.0, 0.10.0.0, 0.10.1 | |||||
261 | KIP-94 Session Windows | 0.10.2.0 | |||||
262 | KIP-3 - Mirror Maker Enhancement93: Improve invalid timestamp handling in Kafka Streams | 0.910.02.0 | |||||
263 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs92 - Add per partition lag metrics to KafkaConsumer | 0.910.02.0 | |||||
264 | KIP-91 Provide Intuitive User Timeouts in The Producer | 2.1.0 | |||||
265 | KIP- Remove support of request.required.acks90 - Remove zkClient dependency from Streams | 0.910.02.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 (by KIP number).
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
...