...
- 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: 468527
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 KStreams500: Replace ZooKeeper with a Self-Managed Metadata Quorum | ||||
2 | KIP-482: The Kafka Protocol should Support Optional Tagged Fields | 2.4 | 2.3.0 | 2 | KIP-460: Admin Leader Election RPC | 2.3.0 (WIP) |
3 | KIP-446: Add changelog topic configuration to KTable suppress504 - Add new Java Authorizer Interface | 2.34.0 (WIP) | ||||
4 | KIP-445: In-memory Session Store503: Add metric for number of topics marked for deletion | 2.34.0 (WIP) | ||||
5 | KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics497: Add inter-broker API to alter ISR | 2.4.0 (WIP)2.3.0 | ||||
6 | KIP-442496: Return to default max poll interval in StreamsAdministrative API to delete consumer offsets | 2.34.0 (WIP) | ||||
7 | KIP- | 436: Add a metric indicating start time495: Dynamically Adjust Log Levels in Connect | 2. | 34.0 (WIP) | ||
8 | KIP-417: Allow JmxTool to connect to a secured RMI port488: Clean up Sum,Count,Total Metrics | 2.34.0 | ||||
9 | KIP- | 415: Incremental Cooperative Rebalancing in Kafka Connect484: Expose metrics for group and transaction metadata loading duration | 2. | 34.0 (WIP) | ||
10 | KIP-427: Add AtMinIsr topic partition category (new metric & TopicCommand option)481: SerDe Improvements for Connect Decimal type in JSON | 2.34.0 (WIP) | ||||
11 | KIP- | 430 - Return Authorized Operations in Describe Responses480: Sticky Partitioner | 2. | 34.0 | (WIP)||
12 | KIP-428479: Add in-memory window storeMaterialized to Join | 2.34.0(WIP) | ||||
13 | KIP-425476: Add some Log4J Kafka Appender Properties for Producing to Secured BrokersJava AdminClient Interface | 2.34.0 | ||||
14 | KIP- | 420: Add Single Value Fetch in Session Stores475: New Metrics to Measure Number of Tasks on a Connector | 2. | 24.0 (WIP) | ||
15 | KIP- | 412: Extend Admin API to support dynamic application log levels474: To deprecate WindowStore#put(key, value) | 2. | 34.0 (WIP) | ||
16 | KIP- | 414471: Expose | Embedded ClientIdsRocksDB Metrics in Kafka Streams | 2. | 24.0 (WIP) | |
17 | KIP-402: Improve fairness in SocketServer processors467: Augment ProduceResponse error messaging for specific culprit records | 2.24.0 (WIP) | ||||
18 | KIP-394: Require member.id for initial join group request465: Add Consolidated Connector Endpoint to Connect REST API | 2.23.0 | ||||
19 | KIP-393: Time windowed serde to properly deserialize changelog input topic464: Defaults for AdminClient#createTopic | 2.24.0 | ||||
20 | KIP-386: Standardize on Min/Avg/Max metrics' default value462: Use local thread id for KStreams | 2.23.0 | ||||
21 | KIP-382: MirrorMaker 2.0461: Improve Replica Fetcher behavior at handling partition failure | 2.3.0 (WIP) | ||||
22 | KIP- | 380: Detect outdated control requests and bounced brokers using broker generation460: Admin Leader Election RPC | 2. | 24.0 | ||
23 | KIP- | 377: TopicCommand to use AdminClient458: Connector Client Config Override Policy | 2. | 23.0 | ||
24 | KIP-376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement455: Create an Administrative API for Replica Reassignment | 2.24.0 (WIP) | ||||
25 | KIP-374: Add '--help' option to all available Kafka CLI commands454: Expansion of the ConnectClusterState interface | 2.23.0 | ||||
26 | KIP-372: Naming Repartition Topics for Joins and Grouping453: Add close() method to RocksDBConfigSetter | 2.13.0 | ||||
27 | KIP-371449: Add a configuration to build custom SSL principal nameconnector contexts to log messages in Connect workers | 2.23.0 | ||||
28 | KIP | 368: Allow SASL Connections to Periodically Re-Authenticate-446: Add changelog topic configuration to KTable suppress | 2. | 24.0 (WIP) | ||
29 | KIP-367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit)445: In-memory Session Store | 2.23.0 | ||||
30 | 366: Make FunctionConversions deprecated | 2. | 13.0 | |||
31 | KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde442: Return to default max poll interval in Streams | 2.13.0 | ||||
32 | KIPKIP-361: Add Consumer Configuration to Disable Auto Topic Creation440: Extend Connect Converter to support headers | 2.34.0 (WIP) | ||||
33 | KIP-359: Verify leader epoch in produce requests436: Add a metric indicating start time | 2.3.0 (WIP) | ||||
34 | KIP-358: Migrate Streams API to Duration instead of long ms times434: Add Replica Fetcher and Log Cleaner Count Metrics | 2.14.0 (WIP) | ||||
35 | KIP- | 357: Add support to list ACLs per principal430 - Return Authorized Operations in Describe Responses | 2. | 13.0 | ||
36 | KIP-356: Add withCachingDisabled() to StoreBuilder429: Kafka Consumer Incremental Rebalance Protocol | 2.14.0 (WIP) | ||||
37 | KIP- | 353: Improve Kafka Streams Timestamp Synchronization428: Add in-memory window store | 2. | 13.0 | ||
38 | KIP- | 351: Add --under-min-isr option to describe topics command427: Add AtMinIsr topic partition category (new metric & TopicCommand option) | 2.3.0 | |||
39 | KIP-346: Improve LogCleaner behavior on error425: Add some Log4J Kafka Appender Properties for Producing to Secured Brokers | 2.3.02.1 | ||||
40 | KIP-342 Add support for custom SASL extensions in OAuthBearer authentication421: Support resolving externalized secrets in AbstractConfig | 2.13.0 | ||||
41 | KIP- | 341: Update Sticky Assignor's User Data Protocol420: Add Single Value Fetch in Session Stores | 2. | 32.0 | (WIP)||
42 | KIP- | 340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file417: Allow JmxTool to connect to a secured RMI port | 2. | 13.0 | ||
43 | KIP- | 339: Create a new IncrementalAlterConfigs API415: Incremental Cooperative Rebalancing in Kafka Connect | 2.3. | 00 | ||
44 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command414: Expose Embedded ClientIds in Kafka Streams | 2.12.0 | ||||
45 | KIP- | 336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer412: Extend Admin API to support dynamic application log levels | 2. | 14.0 (WIP) | ||
46 | 332: Update AclCommand to use AdminClient API | 2.13.0 | ||||
47 | KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde402: Improve fairness in SocketServer processors | 2.2.0 (partially implemented) / 2.3.0 (WIP) | ||||
48 | KIP-330: Add retentionPeriod in SessionBytesStoreSupplier401: TransformerSupplier/ProcessorSupplier StateStore connecting | 2.14.0 (WIP) | ||||
49 | KIP-328: Ability to suppress updates for KTables396: Add Commit/List Offsets Operations to AdminClient | 2.14.0 (partially implemented) / 2.3.0 (WIP) | ||||
50 | KIP-324: Add method to get metrics() in AdminClient394: Require member.id for initial join group request | 2.12.0 | ||||
51 | KIP- | 322: Return new error code for DeleteTopics API when topic deletion disabled.393: Time windowed serde to properly deserialize changelog input topic | 2. | 12.0 | ||
52 | KIP- | 321: Update TopologyDescription to better represent Source and Sink Nodes389: Introduce a configurable consumer group size limit | 2. | 12.0 | ||
53 | KIP-320: Allow fetchers to detect and handle log truncation386: Standardize on Min/Avg/Max metrics' default value | 2.1.0 (partially implemented) / 2.2.0 | ||||
54 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier382: MirrorMaker 2.0 | 2.14.0 | ||||
55 | 313: Add KStream.flatTransform and KStream.flatTransformValues | 2.4.0 (WIP) | ||||
56 | KIP-380: Detect outdated control requests and bounced brokers using broker generation | 2.2 | 2.2.0 (partially implemented) / 2.3.0 | 56 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.1.0 |
57 | KIP- | 308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides377: TopicCommand to use AdminClient | 2. | 12.0 | ||
58 | KIP-306: Configuration for Delaying Response to Failed Authentication376: Implement AutoClosable on appropriate classes that want to be used in a try-with-resource statement | 2.12.0 | ||||
59 | KIP- | 305: Add Connect primitive number converters374: Add '--help' option to all available Kafka CLI commands | 2.2 | 2.0.0 | ||
60 | KIP-303: Add Dynamic Routing in Streams Sink372: Naming Repartition Topics for Joins and Grouping | 2.01.0 | ||||
61 | KIP- | 302 - Enable Kafka clients to use all DNS resolved IP addresses371: Add a configuration to build custom SSL principal name | 2. | 12.0 | ||
62 | KIP- | 298: Error Handling in Connect369: Alternative Partitioner to Support "Always Round-Robin" Selection | 2. | 04.0 | ||
63 | KIP | -297: Externalizing Secrets for Connect Configurations368: Allow SASL Connections to Periodically Re-Authenticate | 2. | 02.0 | ||
64 | KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization367 Introduce close(Duration) to Producer and AdminClient instead of close(long, TimeUnit) | 2.02.0 | ||||
65 | KIP- | 294 - Enable TLS hostname verification by default366: Make FunctionConversions deprecated | 2. | 01.0 | ||
66 | KIP-292: Add transformValues() method to KTable365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde | 2.01.0 | ||||
67 | KIPKIP-290: Support for Prefixed ACLs361: Add Consumer Configuration to Disable Auto Topic Creation | 2.03.0 | ||||
68 | KIP-289360: Improve the default group id behavior in KafkaConsumerhandling of unknown producer | 2.24.0 (WIP) | ||||
69 | KIP- | 285: Connect Rest Extension Plugin359: Verify leader epoch in produce requests | 2. | 04.0 (WIP) | ||
70 | KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE358: Migrate Streams API to Duration instead of long ms times | 2.01.0 | ||||
71 | KIP- | 283: Efficient Memory Usage for Down-Conversion357: Add support to list ACLs per principal | 2. | 01.0 | ||
72 | KIP-282356: Add the listener name to the authentication contextwithCachingDisabled() to StoreBuilder | 2.01.0 | ||||
73 | KIP-281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User354: Add a Maximum Log Compaction Lag | 2.03.0 | ||||
74 | KIP- | 279: Fix log divergence between leader and follower after fast leader fail over353: Improve Kafka Streams Timestamp Synchronization | 2. | 01.0 | ||
75 | KIP-278 - Add version option to Kafka's commands352: Distinguish URPs caused by reassignment | 2.04.0 (WIP) | ||||
76 | KIP-277 - Fine Grained ACL for CreateTopics API351: Add --under-min-isr option to describe topics command | 2.32.0.0 | ||||
77 | KIP- | 276 - Add StreamsConfig prefix for different consumers346: Improve LogCleaner behavior on error | 2. | 0.01 | ||
78 | KIP- | 274: Kafka Streams Skipped Records Metrics345: Introduce static membership protocol to reduce consumer rebalances | 2.4.0 (WIP), partially available in 2.3.0 | |||
79 | KIP-272: Add API version tag to broker's RequestsPerSec metric342 Add support for custom SASL extensions in OAuthBearer authentication | 2.01.0 | ||||
80 | KIP-270 - A Scala Wrapper Library for Kafka Streams341: Update Sticky Assignor's User Data Protocol | 2.03.0 | ||||
81 | KIP- | 268: Simplify Kafka Streams Rebalance Metadata Upgrade2.0.0 | ||||
82 | KIP-267: Add Processor Unit Test Support to Kafka Streams Test Utils | 2.0.0 | ||||
83 | KIP-266: Fix consumer indefinite blocking behavior | 2.0.0 | ||||
84 | KIP-265: Make Windowed Serde to public APIs | 2.0.0 | ||||
85 | KIP-261: Add Single Value Fetch in Window Stores | 2.0.0 | ||||
86 | KIP-258: Allow to Store Record Timestamps in RocksDB | 2.3.0 | ||||
87 | KIP-257 - Configurable Quota Management | 2.0.0 | ||||
88 | KIP-255: OAuth Authentication via SASL/OAUTHBEARER | 2.0.0 | ||||
89 | KIP-251: Allow timestamp manipulation in Processor API | 2.0.0 | ||||
90 | KIP-249: Add Delegation Token Operations to KafkaAdminClient | 2.0.0 | ||||
91 | KIP-247: Add public test utils for Kafka Streams | 1.1.0 | ||||
92 | KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.0.0 | ||||
93 | KIP-244: Add Record Header support to Kafka Streams Processor API | 2.0.0 | ||||
94 | KIP-243: Make ProducerConfig and ConsumerConfig constructors public | 1.1.0 | ||||
95 | KIP-239 Add queryableStoreName() to GlobalKTable | 1.1.0 | ||||
96 | KIP-238: Expose Kafka cluster ID in Connect REST API | 1.1.0 | ||||
97 | KIP-237: More Controller Health Metrics | 2.0.0 | ||||
340: Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file | 2.1.0 | |||||
82 | KIP-339: Create a new IncrementalAlterConfigs API | 2.3.0 | ||||
83 | KIP-338 Support to exclude the internal topics in kafka-topics.sh command | 2.1.0 | ||||
84 | KIP-336: Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer | 2.1.0 | ||||
85 | KIP-332: Update AclCommand to use AdminClient API | 2.1.0 | ||||
86 | KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde | 2.3.0 | ||||
87 | KIP-330: Add retentionPeriod in SessionBytesStoreSupplier | 2.1.0 | ||||
88 | KIP-328: Ability to suppress updates for KTables | 2.1.0 (partially implemented) / 2.3.0 (WIP) | ||||
89 | KIP-324: Add method to get metrics() in AdminClient | 2.1.0 | ||||
90 | KIP-322: Return new error code for DeleteTopics API when topic deletion disabled. | 2.1.0 | ||||
91 | KIP-321: Update TopologyDescription to better represent Source and Sink Nodes | 2.1.0 | ||||
92 | KIP-320: Allow fetchers to detect and handle log truncation | 2.1.0 (partially implemented) / 2.2.0 | ||||
93 | KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier | 2.1.0 | ||||
94 | KIP-313: Add KStream.flatTransform and KStream.flatTransformValues | 2.2.0 (partially implemented) / 2.3.0 | ||||
95 | KIP-312 Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties | 2.1.0 | ||||
96 | KIP-308: Support dynamic update of max.connections.per.ip/max.connections.per.ip.overrides | 2.1.0 | ||||
97 | KIP-307: Allow to define custom processor names with KStreams DSL | 2.3.0 (partial) | ||||
98 | KIP-306: Configuration for Delaying Response to Failed Authentication | 98 | KIP-235: Add DNS alias support for secured connection | 2.1.0 | ||
99 | KIP-233: Simplify StreamsBuilder#addGlobalStore305: Add Connect primitive number converters | 2.01.1.0 | ||||
100 | KIP-231: Improve the Required ACL of ListGroups API303: Add Dynamic Routing in Streams Sink | 2.10.0 | ||||
101 | KIP | -229: DeleteGroups API-302 - Enable Kafka clients to use all DNS resolved IP addresses | 2 | 1.1.0 | ||
102 | KIP- | 227 - Introduce Incremental FetchRequests to Increase Partition Scalability300: Add Windowed KTable API in StreamsBuilder | 2.4 | 1.1.0 | ||
103 | KIP- | 226 - Dynamic Broker Configuration298: Error Handling in Connect | 2.0 | 1.1.0 | ||
104 | KIP- | 225 - Use tags for consumer “records.lag” metrics297: Externalizing Secrets for Connect Configurations | 2.0 | 1.1.0 | ||
105 | KIP- | 224: Add configuration parameter `retries` to Streams API295 Add Streams Configuration Allowing for Optional Topology Optimization | 2.0 | 1.1.0 | ||
106 | KIP- | 223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer294 - Enable TLS hostname verification by default | 2.0.0 | |||
107 | 222 - Add Consumer Group operations to Admin API | Accepted | ||||
108 | KIP-292: Add transformValues() method to KTable | 2.0.0 | ||||
108109 | KIP- | 220: Add AdminClient into Kafka Streams' ClientSupplier290: Support for Prefixed ACLs | 1.1.0 | 109 | KIP-219 - Improve quota communication | 2.0.0 |
110 | KIP- | 218: Make KafkaFuture.Function java 8 lambda compatible289: Improve the default group id behavior in KafkaConsumer | 2.2 | 1.1.0 | ||
111 | KIP-215285: Add topic regex support for Connect sinksConnect Rest Extension Plugin | 2.01.1.0 | ||||
112 | KIP- | 214: Add zookeeper.max.in.flight.requests config to the broker284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE | 2.0 | 1.1.0 | ||
113 | KIP-213 Support non-key joining in KTable283: Efficient Memory Usage for Down-Conversion | 2.30.0 (WIP) | ||||
114 | KIP- | 212: Enforce set of legal characters for connector names282: Add the listener name to the authentication context | 2.0 | 1.1.0 | ||
115 | KIP- | 211: Revise Expiration Semantics of Consumer Group Offsets281: ConsumerPerformance: Increase Polling Loop Timeout and Make It Reachable by the End User | 2. | 10.0 | ||
116 | KIP-210 - Provide for custom error handling when Kafka Streams fails to produce279: Fix log divergence between leader and follower after fast leader fail over | 2.01.1.0 | ||||
117 | KIP-278 - | 208:Add | SSL supportversion option to Kafka | Connect REST interface1.1's commands | 2.0.0 | |
118 | KIP | -207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change-277 - Fine Grained ACL for CreateTopics API | 2. | 20.0 | ||
119 | KIP-276 - | 206:Add | support for UUID serialization and deserializationStreamsConfig prefix for different consumers | 2. | 10.0 | |
120 | KIP-205: Add all() and range() API to ReadOnlyWindowStore274: Kafka Streams Skipped Records Metrics | 2.01.1.0 | ||||
121 | KIP- | 204 : Adding records deletion operation to the new Admin Client API272: Add API version tag to broker's RequestsPerSec metric | 2.0 | 1.1.0 | ||
122 | KIP | -203: Add toLowerCase support to sasl.kerberos.principal.to.local rule-270 - A Scala Wrapper Library for Kafka Streams | 2.0 | 1.1.0 | ||
123 | KIP-202: Move merge() from StreamsBuilder to KStream268: Simplify Kafka Streams Rebalance Metadata Upgrade | 21.0.0 | ||||
124 | KIP-198: Remove ZK dependency from Streams Reset Tool267: Add Processor Unit Test Support to Kafka Streams Test Utils | 21.0.0 | ||||
125 | KIP- | 197 Connect REST API should include the connector type when describing a connector266: Fix consumer indefinite blocking behavior | 2 | 1.0.0 | ||
126 | KIP-196: Add metrics to Kafka Connect framework265: Make Windowed Serde to public APIs | 21.0.0 | ||||
127 | KIP-195: AdminClient.createPartitions261: Add Single Value Fetch in Window Stores | 21.0.0 | ||||
128 | KIP- | 192 : Provide cleaner semantics when idempotence is enabled258: Allow to Store Record Timestamps in RocksDB | 2.3.0 (partially implemented) | 1.0.0|||
129 | KIP-191: KafkaConsumer.subscribe() overload that takes just Pattern257 - Configurable Quota Management | 2.1.0.0 | ||||
130 | KIP- | 190: Handle client-ids consistently between clients and brokers255: OAuth Authentication via SASL/OAUTHBEARER | 2 | 1.0.0 | ||
131 | KIP-189: Improve principal builder interface and add support for SASL251: Allow timestamp manipulation in Processor API | 21.0.0 | ||||
132 | KIP-188 - Add new metrics to support health checks249: Add Delegation Token Operations to KafkaAdminClient | 21.0.0 | ||||
133 | KIP-187 - Add cumulative count metric for all Kafka rate metrics247: Add public test utils for Kafka Streams | 1.01.0 | ||||
134 | KIP-186: Increase offsets retention default to 7 days245: Use Properties instead of StreamsConfig in KafkaStreams constructor | 2.0.0 | ||||
135 | KIP- | 183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient244: Add Record Header support to Kafka Streams Processor API | 2. | 20.0 | ||
136 | KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines243: Make ProducerConfig and ConsumerConfig constructors public | 1.01.0 | ||||
137 | KIP-180: Add a broker metric specifying the number of consumer group rebalances in progress239 Add queryableStoreName() to GlobalKTable | 1.1.0 | ||||
138 | KIP-177: Consumer perf tool should count rebalance time238: Expose Kafka cluster ID in Connect REST API | 1.01.0 | ||||
139 | KIP- | 176: Remove deprecated new-consumer option for tools237: More Controller Health Metrics | 2.0.0 | |||
140 | KIP- | 175: Additional '--describe' views for ConsumerGroupCommand235: Add DNS alias support for secured connection | 2 | 1.1.0 | ||
141 | KIP-174 - Deprecate and remove internal converter configs in WorkerConfig233: Simplify StreamsBuilder#addGlobalStore | 1.12.0.0 | ||||
142 | KIP- | 173: Add prefix to StreamsConfig to enable setting default internal topic configs231: Improve the Required ACL of ListGroups API | 2. | 1.0 | .0||
143 | KIP-171 - Extend Consumer Group Reset Offset for Stream Application229: DeleteGroups API | 1.1.0 | ||||
144 | KIP-168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster-227 - Introduce Incremental FetchRequests to Increase Partition Scalability | 1.01.0 | ||||
145 | KIP-167: Add interface for the state store restoration process-226 - Dynamic Broker Configuration | 1.01.0 | ||||
146 | KIP-164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr 225 - Use tags for consumer “records.lag” metrics | 1.01.0 | ||||
147 | KIP- | 163: Lower the Minimum Required ACL Permission of OffsetFetch224: Add configuration parameter `retries` to Streams API | 1. | 01.0 | ||
148 | KIP-162: Enable topic deletion by default-223 - Add per-topic min lead and per-partition lead metrics to KafkaConsumer | 21.0.0 | ||||
149 | KIP-161: streams deserialization exception handlers222 - Add Consumer Group operations to Admin API | 21.0.0 | ||||
150 | KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 1.0.0 | 221: Enhance DSL with Connecting Topic Creation and Repartition Hint | 2.4.0 (WIP) | ||
151 | KIP- | 157 - Add consumer config options to streams reset tool220: Add AdminClient into Kafka Streams' ClientSupplier | 1. | 01.0 | ||
152 | KIP | -156 Add option "dry run" to Streams application reset tool-219 - Improve quota communication | 2 | 0.11.0.0 | ||
153 | KIP- | 155 - Add range scan for windowed state stores218: Make KafkaFuture.Function java 8 lambda compatible | 1.1 | 0.11.0.0 | ||
154 | KIP-154 Add Kafka Connect configuration properties for creating internal topics215: Add topic regex support for Connect sinks | 1.1.00.11.0.0 | ||||
155 | KIP-153: Include only client traffic in BytesOutPerSec metric214: Add zookeeper.max.in.flight.requests config to the broker | 1.10.11.0.0 | ||||
156 | KIP- | 152 - Improve diagnostics for SASL authentication failures213 Support non-key joining in KTable | 2.4.0 (WIP) | 1.0.0|||
157 | KIP-151 Expose Connector type in REST API212: Enforce set of legal characters for connector names | 1.10.11.0.0 | ||||
158 | KIP-150 - Kafka-Streams Cogroup211: Revise Expiration Semantics of Consumer Group Offsets | 2.3.0 (WIP)1.0 | ||||
159 | KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner-210 - Provide for custom error handling when Kafka Streams fails to produce | 1.1.0 (partially implemented) (WIP for 2.3.0) | ||||
160 | KIP-146 - Classloading Isolation in Connect208: Add SSL support to Kafka Connect REST interface | 1.1.00.11.0.0 | ||||
161 | KIP-145 - Expose Record Headers in Kafka Connect207: Offsets returned by ListOffsetsResponse should be monotonically increasing even during a partition leader change | 2.21.1.0 | ||||
162 | KIP- | 144206: | Exponential backoff for broker reconnect attempts0.11.0Add support for UUID serialization and deserialization | 2.1.0 | ||
163 | KIP-143: Controller Health Metrics205: Add all() and range() API to ReadOnlyWindowStore | 1.1.00.11.0.0 | ||||
164 | KIP-140: Add administrative RPCs for adding, deleting, and listing ACLs204 : Adding records deletion operation to the new Admin Client API | 1.1.00.11.0.0 | ||||
165 | KIP-138: Change punctuate semantics203: Add toLowerCase support to sasl.kerberos.principal.to.local rule | 1.01.0 | ||||
166 | KIP-137: Enhance TopicCommand --describe to show topics marked for deletion202: Move merge() from StreamsBuilder to KStream | 1.0.11.0.0 | ||||
167 | KIP-136: Add Listener name to SelectorMetrics tags198: Remove ZK dependency from Streams Reset Tool | 10.11.0.0 | ||||
168 | KIP-134: Delay initial consumer group rebalance197 Connect REST API should include the connector type when describing a connector | 10.11.0.0 | ||||
169 | KIP-133: Describe and Alter Configs Admin APIs196: Add metrics to Kafka Connect framework | 10.11.0.0 | ||||
170 | KIP- | 130: Expose states of active tasks to KafkaStreams public API195: AdminClient.createPartitions | 1.0.0 | |||
171 | KIP-129: Streams Exactly-Once Semantics192 : Provide cleaner semantics when idempotence is enabled | 1.0.11.0.0 | ||||
172 | KIP-128: Add ByteArrayConverter for Kafka Connect191: KafkaConsumer.subscribe() overload that takes just Pattern | 1.0.11.0.0 | ||||
173 | KIP-126 - Allow KafkaProducer to split and resend oversized batches.190: Handle client-ids consistently between clients and brokers | 10.11.0.0 | ||||
174 | KIP-124 - Request rate quotas189: Improve principal builder interface and add support for SASL | 1.0.11.0.0 | ||||
175 | KIP-123: Allow per stream/table timestamp extractor-188 - Add new metrics to support health checks | 1.0.11.0.0 | ||||
176 | KIP-187 - 122: Add Reset Consumer Group Offsets toolingAdd cumulative count metric for all Kafka rate metrics | 1.0.11.0.0 | ||||
177 | KIP-121: Add KStream peek method186: Increase offsets retention default to 7 days | 20.11.0.0 | ||||
178 | KIP-120: Cleanup Kafka Streams builder API-183 - Change PreferredReplicaLeaderElectionCommand to use AdminClient | 2.21.0.0 | ||||
179 | KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines | 1.119: Drop Support for Scala 2.10 in Kafka 0.110.11.0.0 | ||||
180 | KIP-118: Drop Support for Java 7180: Add a broker metric specifying the number of consumer group rebalances in progress | 1.12.0.0 | ||||
181 | KIP-117: Add a public AdminClient API for Kafka admin operations177: Consumer perf tool should count rebalance time | 10.11.0.0 | ||||
182 | KIP- | 115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation176: Remove deprecated new-consumer option for tools | 2 | 0.11.0.0 | ||
183 | KIP-114: KTable state stores and improved semantics175: Additional '--describe' views for ConsumerGroupCommand | 1.1.00.11.0.0 | ||||
184 | KIP-113: Support replicas movement between log directories-174 - Deprecate and remove internal converter configs in WorkerConfig | 2.01.1.0 | ||||
185 | KIP-112: Handle disk failure for JBOD173: Add prefix to StreamsConfig to enable setting default internal topic configs | 1.0.0 | ||||
186 | KIP- | 110: Add Codec for ZStandard Compression171 - Extend Consumer Group Reset Offset for Stream Application | 1 | 2.1.0 | ||
187 | KIP-109: Old Consumer Deprecation168: Add GlobalTopicCount and GlobalPartitionCount metric per cluster | 1.0.11.0.0 | ||||
188 | KIP-108: Create Topic Policy167: Add interface for the state store restoration process | 1.00.10.2.0 | ||||
189 | 107: Add deleteRecordsBefore() API in AdminClient 164 - Add UnderMinIsrPartitionCount and per-partition UnderMinIsr metrics | 1.0.11.0.0 | ||||
190 | 106 - Change Default unclean.leader.election.enabled from True to False | 1. | 0.11.0.0 | |||
191 | KIP-105: Addition of Record Level for Sensors162: Enable topic deletion by default | 1.0.0.10.2.0 | ||||
192 | KIP-104: Granular Sensors for Streams 161: streams deserialization exception handlers | 1.00.10.2.0 | ||||
193 | KIP-103: Separation of Internal and External traffic160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string | 1.0.0.10.2.0 | ||||
194 | KIP- | 102157 - Add | close with timeout for consumers0.10.2consumer config options to streams reset tool | 1.0.0 | ||
195 | KIP- | 101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation156 Add option "dry run" to Streams application reset tool | 0.11.0.0 | |||
196 | KIP- | 100 - Relax Type constraints in Kafka Streams API155 - Add range scan for windowed state stores | 0. | 1011. | 20.0 | |
197 | KIP-99: 154 Add Global Tables to Kafka StreamsKafka Connect configuration properties for creating internal topics | 0.1011.20.0 | ||||
198 | KIP-98 - Exactly Once Delivery and Transactional Messaging153: Include only client traffic in BytesOutPerSec metric | 0.11.0.0 | ||||
199 | KIP-97: Improved Kafka Client RPC Compatibility Policy-152 - Improve diagnostics for SASL authentication failures | 1.0.0.10.2.0 | ||||
200 | KIP-96 - Add per partition metrics for in-sync and assigned replica count151 Expose Connector type in REST API | 0.1011.20.0 | ||||
201 | KIP-94 Session Windows-150 - Kafka-Streams Cogroup | 2.4.0 (WIP)0.10.2.0 | ||||
202 | KIP-93: Improve invalid timestamp handling in Kafka Streams149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner | 1.1.0 (partially implemented) (WIP for 2.4.0)0.10.2.0 | ||||
203 | KIP-92 - Add per partition lag metrics to KafkaConsumer146 - Classloading Isolation in Connect | 0. 1011. 20.0 | ||||
204 | KIP-91 Provide Intuitive User Timeouts in The Producer-145 - Expose Record Headers in Kafka Connect | 12.1.0 | ||||
205 | KIP-90 - Remove zkClient dependency from Streams144: Exponential backoff for broker reconnect attempts | 0.1011.20.0 | ||||
206 | KIP-89: Allow sink connectors to decouple flush and offset commit143: Controller Health Metrics | 0.1011.20.0 | ||||
207 | KIP-88: OffsetFetch Protocol Update140: Add administrative RPCs for adding, deleting, and listing ACLs | 0.1011.20.0 | ||||
208 | KIP-86: Configurable SASL callback handlers138: Change punctuate semantics | 12.0.0 | ||||
209 | KIP-85: Dynamic JAAS configuration for Kafka clients137: Enhance TopicCommand --describe to show topics marked for deletion | 0.1011.20.0 | ||||
210 | KIP-84: Support SASL SCRAM mechanisms136: Add Listener name to SelectorMetrics tags | 0.1011.20.0 | ||||
211 | KIP-82 - Add Record Headers134: Delay initial consumer group rebalance | 0.11.0.0 | ||||
212 | KIP-81: Bound Fetch memory usage in the consumer133: Describe and Alter Configs Admin APIs | 0.11.0.02.2.0 (WIP) | ||||
213 | KIP- | 79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer130: Expose states of active tasks to KafkaStreams public API | 1.0. | 0.10.1.0 | ||
214 | KIP-78: Cluster Id129: Streams Exactly-Once Semantics | 0.1011.10.0 | ||||
215 | KIP-77128: Improve Kafka Streams Join SemanticsAdd ByteArrayConverter for Kafka Connect | 0.1011.20.0 | ||||
216 | KIP-75 - Add per-connector Converters126 - Allow KafkaProducer to split and resend oversized batches. | 0.1011.10.0 | ||||
217 | KIP-74: Add Fetch Response Size Limit in Bytes-124 - Request rate quotas | 0.1011.10.0 | ||||
218 | KIP-73: Replication Quotas123: Allow per stream/table timestamp extractor | 0.11.00.10.1.0 | ||||
219 | KIP-72: Allow putting a bound on memory consumed by Incoming request 122: Add Reset Consumer Group Offsets tooling | 0.111.0.0 | ||||
220 | KIP-71: Enable log compaction and deletion to co-exist121: Add KStream peek method | 0. 1011. 10.0 | ||||
221 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change120: Cleanup Kafka Streams builder API | 1.0.0.10.1.0 | ||||
222 | KIP-67119: Queryable state for Kafka StreamsDrop Support for Scala 2.10 in Kafka 0.11 | 0.1011.10.0 | ||||
223 | KIP-66: Single Message Transforms for Kafka Connect118: Drop Support for Java 7 | 2.0.00.10.2.0 / 0.11.0.0 | ||||
224 | KIP-65: Expose timestamps to Connect117: Add a public AdminClient API for Kafka admin operations | 0.1011.10.0 | ||||
225 | KIP-63: Unify store and downstream caching in streams115: Enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation | 0.1011.10.0 | ||||
226 | KIP-62: Allow consumer to send heartbeats from a background thread114: KTable state stores and improved semantics | 0.1011.10.0 | ||||
227 | KIP-60 - Make Java client classloading more flexible113: Support replicas movement between log directories | 10.10.1.0 | ||||
228 | KIP-58 - Make Log Compaction Point Configurable112: Handle disk failure for JBOD | 1.00.10.1.0 | ||||
229 | KIP- | 57 - Interoperable LZ4 Framing110: Add Codec for ZStandard Compression | 2.1 | 0.10.0.0 | ||
230 | KIP-56: Allow cross origin HTTP requests on all HTTP methods109: Old Consumer Deprecation | 0.1011.0.0 | ||||
231 | KIP-55: Secure Quotas for Authenticated Users108: Create Topic Policy | 0.10.12.0 | ||||
232 | KIP-54: Sticky Partition Assignment Strategy107: Add deleteRecordsBefore() API in AdminClient | 0.11.0.0 | ||||
233 | -52: Connector Control APIs -106 - Change Default unclean.leader.election.enabled from True to False | 0.1011.0.0 | ||||
234 | KIP-51 - List Connectors REST API105: Addition of Record Level for Sensors | 0.10.02.0 | ||||
235 | KIP-50 - Move Authorizer to o.a.k.common package104: Granular Sensors for Streams | 0.10.12.0 | ||||
236 | KIP-48 Delegation token support for Kafka103: Separation of Internal and External traffic | 0.10.21.1.0 | ||||
237 | KIP-45 - Standardize all client sequence interaction on j.u.Collection.102 - Add close with timeout for consumers | 0.10.02.0 | ||||
238 | KIP-43: Kafka SASL enhancements-101 - Alter Replication Protocol to use Leader Epoch rather than High Watermark for Truncation | 0.1011.0.0 | ||||
239 | KIP-42: Add Producer and Consumer Interceptors-100 - Relax Type constraints in Kafka Streams API | 0.10.02.0 | ||||
240 | KIP-41: Consumer Max Records99: Add Global Tables to Kafka Streams | 0.10.02.0 | ||||
241 | KIP-40: ListGroups and DescribeGroup-98 - Exactly Once Delivery and Transactional Messaging | 0.911.0.0 | ||||
242 | KIP-38: ZooKeeper Authentication97: Improved Kafka Client RPC Compatibility Policy | 0.910.02.0 | ||||
243 | KIP-36 - Rack aware replica assignment-96 - Add per partition metrics for in-sync and assigned replica count | 0.10.02.0 | ||||
244 | KIP-35 - Retrieving protocol version94 Session Windows | 0.10.02.0 | ||||
245 | KIP-33 - Add a time based log index93: Improve invalid timestamp handling in Kafka Streams | 0.10.12.0 | ||||
246 | KIP-32 92 - Add timestamps to Kafka messageper partition lag metrics to KafkaConsumer | 0.10.02.0 | ||||
247 | KIP-31 - Move to relative offsets in compressed message sets91 Provide Intuitive User Timeouts in The Producer | 2.10.10.0.0 | ||||
248 | KIP-28 - Add a processor client90 - Remove zkClient dependency from Streams | 0.10.02.0 | ||||
249 | KIP-26 - Add Kafka Connect framework for data import/export89: Allow sink connectors to decouple flush and offset commit | 0.910.02.0 | ||||
250 | KIP-25 - System test improvements88: OffsetFetch Protocol Update | 0.910.02.0 | ||||
251 | KIP-22 - Expose a Partitioner interface in the new producer86: Configurable SASL callback handlers | 20.9.0.0 | ||||
252 | KIP-21 - Dynamic Configuration85: Dynamic JAAS configuration for Kafka clients | 0.910.02.0 (WIP) | ||||
253 | KIP-20 Enable log preallocate to improve consume performance under windows and some old Linux file system84: Support SASL SCRAM mechanisms | 0.910.02.0 | ||||
254 | KIP-19 82 - Add a request timeout to NetworkClientRecord Headers | 0.911.0.0 | ||||
255 | KIP-16 - Automated Replica Lag Tuning81: Bound Fetch memory usage in the consumer | 2.4.0 (WIP)0.9.0.0 | ||||
256 | KIP-15 - Add a close method with a timeout in the producer79 - ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer | 0.910.01.0 | ||||
257 | KIP-13 - Quota Design78: Cluster Id | 0.910.01.0 | ||||
258 | KIP-12 - Kafka Sasl/Kerberos and SSL implementation77: Improve Kafka Streams Join Semantics | 0.910.02.0 | ||||
259 | KIP-75 - 11 - Kafka Authorizer designAdd per-connector Converters | 0.910.01.0 | ||||
260 | KIP-8 - Add a flush method to the producer API74: Add Fetch Response Size Limit in Bytes | 0.910.01.0 | ||||
261 | KIP-4 - Metadata Protocol Changes73: Replication Quotas | 0.10.01.0 | ||||
262 | KIP-4 - Command line and centralized administrative operations72: Allow putting a bound on memory consumed by Incoming request | 1.0.0 | ||||
263 | KIP-71: Enable log compaction and deletion to co-exist | 0.9.0.0, 0.10.01.0, | ||||
264 | KIP-70: Revise Partition Assignment Semantics on New Consumer's Subscription Change | 0.10.1.0 | ||||
263265 | KIP-3 - Mirror Maker Enhancement67: Queryable state for Kafka Streams | 0.910.01.0 | ||||
264266 | KIP-2 - Refactor brokers to allow listening on multiple ports and IPs66: Single Message Transforms for Kafka Connect | 0.10.2.0 / 0.110.9.0.0 | ||||
265267 | KIP-1 - Remove support of request.required.acks65: Expose timestamps to Connect | 0.910.01.0 |
...
KIPs under discussion
Please insert new rows in sorted order (ascending by KIP number). Please move the adopted/accepted KIPs to the "Adopted KIPs" table above.
KIP | Comment |
---|---|
KIP-59: Proposal for a kafka broker command | Sent emails to Dev discussion group. Work tracked under KAFKA-3663. |
KIP-125: ZookeeperConsumerConnector to KafkaConsumer Migration and Rollback | |
KIP-131 - Add access to OffsetStorageReader from SourceConnector | |
KIP-135 |
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
...