Hi everyone! There are two remaining issues right now pending for 1.0 that will cause breaking API changes in the Streaming API.
1) [FLINK-3379] The Timestamp Extractor needs to be changed. That really seems necessary, based on the user feedback, because a lot of people mentioned that they are getting confused about the TimestampExtractor's mixed two-way system of generating watermarks. The issue suggests to pull the two different modes of generating watermarks into two different classes. 2) [FLINK-3371] makes the "Trigger" an abstract class (currently interface) and moves the "TriggerResult" to a dedicated class. This is necessary for avoiding breaking changes in the future, after the release. The reason why for these changes are "aligned windows", which have one Trigger for the entire window across all keys ( https://issues.apache.org/jira/browse/FLINK-3370) Aligned windows are for example most sliding/tumbling time windows, while unaligned windows (with a trigger per key) are for example session and count windows. For aligned windows, we can implement an optimized representation that uses less memory and is more lightweight to checkpoint. Also, the Trigger class may evolve a bit, and and with an abstract class we can add methods without breaking user-defined Triggers in the future. Greetings, Stephan