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
HierarchicalMachinefrom 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
graphvizwhenpygraphvizwas not installed (thanks @FridjofAmundsen) - Bug #580: Fix
on_timeoutcallback resolution when timeout had been initialized withtimeout=0(thanks @Rysbai) - Bug #582: Last label in
GraphSupportwas 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
maytransition check to transitions (thanks @artofhuman) - Feature #552: Refactored error handling to be able to handle
MachineErrorinon_exceptioncallbacks (thanks @kpihus) - Feature: Add
mypyto test workflow - PR #461: Add
Retrystate to supported state stereotypes (thanks @rgov) - Internal:
Machine._identify_callbackhas been converted to instance method from class method - Internal:
LockedMachine._get_qualified_state_namehas been converted to instance method from static method - Internal: Removed
_superworkaround related to dill (see #236)