- new Retry decorator allows steps to retry automatically when step encounters an error. ref 130
- fix run_step AttributeError might have caught or hidden AttributeErrors in the step code itself, rather than just when the step module didn't contain a run_step function. ref 129
- while loop checks `stop` condition only at end of each iteration. previously if a stop condition evaluated True even before the loop started the loop wouldn't run at all. now the loop will run once. If you don't want the step to run, use the `skip: True` decorator instead.
- it's now easier to write infinite While loops with an explicit `stop: False` condition