This page is an overview of all adopted and discard KIPs. For current KIP discussions go the parent page.
Adopted
- Kafka 3.0:
- Kafka 2.8:
- KIP-418: A method-chaining way to branch KStream
- KIP-572: Improve timeouts and retries in Kafka Streams (completed; partially implemented in v2.7)
- KIP-614: Add Prefix Scan support for State Stores
- KIP-659: Improve TimeWindowedDeserializer and TimeWindowedSerde to handle window size
- KIP-663: API to Start and Shut Down Stream Threads
- KIP-696: Update Streams FSM to clarify ERROR state meaning
- KIP-671: Introduce Kafka Streams Specific Uncaught Exception Handler
- KIP-680: TopologyTestDriver should not require a Properties argument
- KIP-689: Extend `StreamJoined` to allow more store configsKIP-695: Further Improve Kafka Streams Timestamp Synchronization
- Kafka 2.7:
- KIP-450: Sliding Window Aggregations in the DSL
- KIP-572: Improve timeouts and retries in Kafka Streams (partially implemented; completed in v2.8)
- KIP-607: Add Metrics to Kafka Streams to Report Properties of RocksDB
- KIP-613: Add end-to-end latency metrics to Streams (completed; partially implemented in v2.6)
- KIP-616: Rename implicit Serdes instances in kafka-streams-scala
- KIP-617: Allow Kafka Streams State Stores to be iterated backwards
- KIP-626: Rename StreamsConfig config variable name
- KIP-648: Renaming getter method for Interactive Queries
- KIP-662: Throw Exception when Source Topics of a Streams App are Deleted
- Kafka 2.6:
- KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint
- KIP-401: TransformerSupplier/ProcessorSupplier StateStore connecting
- KIP-441: Smooth Scaling Out for Kafka Streams
- KIP-444: Augment metrics for Kafka Streams (completed; partially implemented in v2.4 and v2.5)
- KIP-446: Add changelog topic configuration to KTable suppress
- KIP-447: Producer scalability for exactly once semantics (Kafka Streams changes; broker/client side changes already implemented v2.5)
- KIP-557: Add emit on change support for Kafka Streams (partially implemented)
- KIP-571: Add option to force remove members in StreamsResetter
- KIP-594: Expose output topic names from TopologyTestDriver
- KIP-613: Add end-to-end latency metrics to Streams (partially implemented; completed in v2.7)
- Kafka 2.5:
- KIP-444: Augment metrics for Kafka Streams (partially implemented in v2.4 and v2.5; completed in v2.6)
- KIP-523: Add KStream#toTable to the Streams DSL
- KIP-527: Add VoidSerde to Serdes
- KIP-530: Consider renaming 'UsePreviousTimeOnInvalidTimeStamp' class to 'UsePartitionTimeOnInvalidTimeStamp'
- Kafka 2.4:
- KIP-213 Support non-key joining in KTable
- KIP-307: Allow to define custom processor names with KStreams DSL (completed; partially implemented in v2.3)
- KIP-345: Introduce static membership protocol to reduce consumer rebalances (completed; partially implemented in v2.3)
- KIP-429: Kafka Consumer Incremental Rebalance Protocol
- KIP-444: Augment metrics for Kafka Streams (partially implemented in v2.4 and v2.5; completed in v2.6)
- KIP-470: TopologyTestDriver test input and output usability improvements
- KIP-471: Expose RocksDB Metrics in Kafka Streams (partially implemented; completion blocked)
- KIP-474: To deprecate WindowStore#put(key, value)
- KIP-479: Add StreamJoined config object to Join
- KIP-528: Deprecate PartitionGrouper configuration and interface
- Kafka 2.3:
- KIP-258: Allow to Store Record Timestamps in RocksDB (partially implemented; not completed yet → inactive)
- KIP-307: Allow to define custom processor names with KStreams DSL (partially implemented; completed in v2.4)
- KIP-313: Add KStream.flatTransform and KStream.flatTransformValues (completed; partially implemented in v2.2)
- KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde
- KIP-345: Introduce static membership protocol to reduce consumer rebalances (partially implemented; completed in v2.4)
- KIP-428: Add in-memory window store
- KIP-442: Return to default max poll interval in Streams
- KIP-443: Return to default segment.ms and segment.index.bytes in Streams repartition topics
- KIP-445: In-memory Session Store
- KIP-453: Add close() method to RocksDBConfigSetter
- KIP-462: Use local thread id for KStreams
- Kafka 2.2:
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues (partially implemented; completed in v2.3)
KIP-393: Time windowed serde to properly deserialize changelog input topic
...