Release 0.9.0
Release 0.9.0 is a major release and contains improvements to ease development, adds some new features and removes the legacy hierarchical machine:
- removed legacy implementation of
HierarchicalMachine
from the package - Bug #551: Fix active state styling in
GraphMachine
(thanks @betaboon) - Bug #554: Fix issues related to scopes and queueing in
HierachicalMachine
(thanks @jankrejci) - Bug #568: Reflexive transitions (dest: '=') had not been resolved correctly when source was a wildcard (thanks @jnu)
- Bug #568: HSM did not detect reflexive transitions if src was a parent state (thanks @lostcontrol)
- Bug #569: Fix implicit fallback to
graphviz
whenpygraphviz
was not installed (thanks @FridjofAmundsen) - Bug #580: Fix
on_timeout
callback resolution when timeout had been initialized withtimeout=0
(thanks @Rysbai) - Bug #582: Last label in
GraphSupport
was not correctly aligned whenshow_attributes=True
(thanks @spagh-eddie) - Feature: Add pyi stub files for better type hinting. Since many functions and constructors allow rather arbitrary arguments time will tell whether typing should be strict (and cause more mypy issues) or more relaxed (and thus less precise).
- Feature: Reviewed and improved method documentation
- Feature #549: Add
may
transition check to transitions (thanks @artofhuman) - Feature #552: Refactored error handling to be able to handle
MachineError
inon_exception
callbacks (thanks @kpihus) - Feature: Add
mypy
to test workflow - PR #461: Add
Retry
state to supported state stereotypes (thanks @rgov) - Internal:
Machine._identify_callback
has been converted to instance method from class method - Internal:
LockedMachine._get_qualified_state_name
has been converted to instance method from static method - Internal: Removed
_super
workaround related to dill (see #236)