Major Features
- Refactor
FlowRunner
andTaskRunner
into a modularRunner
pipelines - #260, #267 - Add configurable
state_handlers
forFlowRunners
,Flows
,TaskRunners
, andTasks
- #264, #267 - Add gmail and slack notification state handlers w/ tutorial - #274, #294
Minor Features
- Add a new method
flow.get_tasks()
for easily filtering flow tasks by attribute - #242 - Add new
JinjaTemplateTask
for easily rendering jinja templates - #200 - Add new
PAUSE
signal for halting task execution - #246 - Add new
Paused
state corresponding toPAUSE
signal, and newpause_task
utility - #251 - Add ability to timeout task execution for all executors except
DaskExecutor(processes=True)
- #240 - Add explicit unit test to check Black formatting (Python 3.6+) - #261
- Add ability to set local secrets in user config file - #231, #274
- Add
is_skipped()
andis_scheduled()
methods forState
objects - #266, #278 - Adds
now()
as a defaultstart_time
forScheduled
states - #278 Signal
classes now pass arguments to underlyingState
objects - #279- Run counts are tracked via
Retrying
states - #281
Fixes
- Flow consistently raises if passed a parameter that doesn't exist - #149