...
- future release Kafka 2.5:
- KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner (partially implemented in v1.1)
- KIP-150 - Kafka-Streams Cogroup
- KIP-221: Enhance DSL with Connecting Topic Creation and Repartition Hint
- KIP-258: Allow to Store Record Timestamps in RocksDB (partially implemented in v2.3)
- KIP-300: Add Windowed KTable API in StreamsBuilder
- KIP-328: Ability to suppress updates for KTables (partially implemented in v2.1)
- KIP-401: TransformerSupplier/ProcessorSupplier StateStore connecting
- KIP-444: Augment metrics for Kafka Streams (partially implemented in v2.4)
- KIP-446: Add changelog topic configuration to KTable suppress
- KIP-466: Add support for List<T> serialization and deserialization
- KIP-471: Expose RocksDB Metrics in Kafka Streams (partially implemented in v2.4)
- KIP-474: To deprecate WindowStore#put(key, value)
- upcoming release Kafka 2.4:
- KIP-213 Support non-key joining in KTable
- KIP-307: Allow to define custom processor names with KStreams DSL (partially implemented in v2.3)
- KIP-429: Kafka Consumer Incremental Rebalance Protocol
- KIP-444: Augment metrics for Kafka Streams (partially implemented in v2.4)
- KIP-470: TopologyTestDriver test input and output usability improvements
- KIP-471: Expose RocksDB Metrics in Kafka Streams (partially implemented in v2.4)
- KIP-479: Add Materialized to Join
- KIP-528: Deprecate PartitionGrouper configuration and interface
- Kafka 2.3:
- KIP-258: Allow to Store Record Timestamps in RocksDB (partially implemented in v2.3)
- KIP-307: Allow to define custom processor names with KStreams DSL (partially implemented in v2.3)
- KIP-313: Add KStream.flatTransform and KStream.flatTransformValues (finished in v2.3; partially implemented in v2.2)
- KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde
- 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-159: Introducing Rich functions to Streams
- KIP-216: IQ should throw different exceptions for different errors
- KIP-228 Negative record timestamp support
- KIP-314: KTable to GlobalKTable Bi-directional Join
KIP-378: Enable Dependency Injection for Kafka Streams handlers
KIP-406: GlobalStreamThread should honor custom reset policy
- KIP-418: A method-chaining way to branch KStream
- KIP-422: [Streams] Support multiple topic resolution in TopicNameExtractor
- KIP-424: Allow suppression of intermediate events based on wall clock timeKIP-429: Kafka Consumer Incremental Rebalance Protocol
- KIP-439: Cleanup built-in Store interfaces
- KIP-448: Add State Stores Unit Test Support to Kafka Streams Test Utils
- KIP-450: Sliding Window Aggregations in the DSL
- KIP-463: Auto-configure non-default Serdes passed alongside the TopologyBuilder
- KIP-472: Add header to RecordContext/KafkaProducer
- KIP-478 - Strongly typed Processor API
- KIP-508: Make Suppression State Queriable
- KIP-523: Add KStream#toTable to the Streams DSL
- KIP-527: Add VoidSerde to Serdes
...