- *Breaking change* Reworked the execution model. `run_main` and `cluster_main`
have been moved to `bytewax.testing` as they are only supposed to be used
when testing or prototyping.
Production dataflows should be ran by calling the `bytewax.run`
module with `python -m bytewax.run <dataflow-path>:<dataflow-name>`.
See `python -m bytewax.run -h` for all the possible options.
The functionality offered by `spawn_cluster` are now only offered by the
`bytewax.run` script, so `spawn_cluster` was removed.
- *Breaking change* `{Sliding,Tumbling}Window.start_at` has been
renamed to `align_to` and both now require that argument. It's not
possible to recover windowing operators without it.
- Fixes bugs with windows not closing properly.
- Fixes an issue with SQLite-based recovery. Previously you'd always
get an "interleaved executions" panic whenever you resumed a cluster
after the first time.
- Add `SessionWindow` for windowing operators.
- Add `SlidingWindow` for windowing operators.
- *Breaking change* Rename `TumblingWindowConfig` to `TumblingWindow`
- Add `filter_map` operator.
- *Breaking change* New partition-based input and output API. This
removes `ManualInputConfig` and `ManualOutputConfig`. See
`bytewax.inputs` and `bytewax.outputs` for more info.
- *Breaking change* `Dataflow.capture` operator is renamed to
`Dataflow.output`.
- *Breaking change* `KafkaInputConfig` and `KafkaOutputConfig` have
been moved to `bytewax.connectors.kafka.KafkaInput` and
`bytewax.connectors.kafka.KafkaOutput`.
- *Deprecation warning* The `KafkaRecovery` store is being deprecated
in favor of `SqliteRecoveryConfig`, and will be removed in a future
release.