- Fix the Pushover sink
- Modernize the code base, testing with Python 3.10 and 3.11
- Add UDP server with support for custom protocols
- Add protocol for the Micron Bolt Mini 2 GPS tracker
- New filters: YAML/JSON serializer and deserializer
- Fix MQTT filter ensuring value has the correct type
- New
--dry-run
flag (-n
) that only prints the DAG
- New sink: send messages to Slack channel
- Make SQLAlchemy source work with sync engines
- New filter: Jinja2 template
- New sink: Twilio SMS
- MQTT source now reconnects
- Handle JSON-encoded MQTT messages
- Fix throttle by ignoring runs without events
- Log exceptions
- New sources: suntime, static
- New sink: Tuya/Smart Life
- Format plugin parameters simplified
- Fix jsonpath filter to work with event streams
- Switch config to YAML
- Log all events flowing in the DAG
- Add docstrings to all plugins for API generation
- New filter: format
- New source: SQLAlchemy databases
- Fix schedule with only event sources
- Fix multiple topics in mqtt source
- Modified scheduler to run tasks concurrently
- Modified scheduler to gracefully cancel tasks
- Added support for event-driven sources (non-scheduled)
- New sources: Whistle, stocks, crypto, mqtt
- New sink: mqtt
- Add missing dependency to setup.py
- Render DAG after building it
- Add more logging
- Fix DAG builder n:1 relationships
- New source: Weatherapi
- Improved scheduler
- Implement batch in sinks
- Group tasks with a tolerance in scheduler
- Prevent failed tasks from stopping scheduler
- Add missing entry point to Speedtest source
- Fix typos in README.rst
- Add missing dependency
- New source: Speedtest
- Initial release
- Sources: Awair, random numbers
- Filters: JSONPath
- Sinks: Pushover, Postgres, logs