- Update to version 0.8.8
Bugfix
* AsyncMachine does not remove models when remove_models is
called.
Feature
* Introduce try/except for finalize callbacks in Machine and
HierachicalMachine. Thus, errors occurring in finalize
callbacks will be suppressed and only the original error will
be raised.
* Show references in graphs and markup. Introduce
MarkupMachine.format_references to tweak reference formatting.
* Introduce Machine.on_exception to handle raised exceptions in
callbacks.
* Machine.get_triggers now supports State and Enum as arguments.
* NestedState and HierachicalMachine.add_states now accept
(lists of) states and enums as initial parameter.
- Update to version 0.8.7
* State configuration dictionaries passed to HierarchicalMachine
can also use states as a keyword to define substates. If
children and states are present, only children will be
considered.
* HierarchicalMachine with custom separator now adds
is_state partials for nested states (e.g. is_C.s3.a()) to
models.
* Use model_attribute consistently in AsyncMachine.
* HierarchicalMachine now checks whether state_cls, event_cls
and transition_cls have been subclassed from nested base
classes (e.g. NestedState) to prevent hard to debug
inheritance errors
- Update to version 0.8.6
OBS-URL: https://build.opensuse.org/request/show/883668
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-transitions?expand=0&rev=15
- Update to version 0.8.2
* Improved testing without any optional graphviz package
* _check_event_result failed when model was in parallel state
* Only allow explicit dest=None in Machine.add_transition (not
just falsy) for internal transitions
* Fix state creation of nested enums
* HierarchicalGraphMachine did not find/apply styling for
parallel states
* Bugfix: Model.trigger now considers the machine's and current
state's ignore_invalid_triggers attribute and can be called
with non-existing events
* Child states may not have been exited when the executed
transition had been defined on a parent
* Introduced transitions.extensions.asyncio.AsyncTimeout as a
state decorator to avoid threads used
in transitions.extensions.state.Timeout
* Use sets instead of lists to cache already covered transitions
in nested state machines
* Improve handling of unresolved attributes for easier inheritance
* Refactored AsyncMachine to enable trio/anyio override
OBS-URL: https://build.opensuse.org/request/show/817500
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-transitions?expand=0&rev=11
- version update to 0.8.0
- Feature: `HierarchicalMachine` has been rewritten to support parallel states. Please have a look at the ReadMe.md to check what has changed.
+ The previous version can be found in `transitions.extensions.nesting_legacy` for now
- Feature: Introduced `AsyncMachine` (see discussion #259); note that async HSMs are not yet supported
- Feature #390: String callbacks can now point to properties and attributes (thanks @jsenecal)
- Bugfix: Auto transitions are added multiple times when add_states is called more than once
- Bugfix: Convert state._name from `Enum` into strings in `MarkupMachine` when necessary
- Bugfix #392: Allow `Machine.add_ordered_transitions` to be called without the initial state (thanks @mkaranki and @facundofc)
- `GraphMachine` now attempts to fall back to `graphviz` when importing `pygraphviz` fails
- Not implemented/tested so far (contributions are welcome!):
+ Proper Graphviz support of parallel states
+ AsyncHierachicalMachine
OBS-URL: https://build.opensuse.org/request/show/788238
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-transitions?expand=0&rev=5