Changelog History
Page 2
-
v0.8.2 Changes
June 01, 2020๐ Release 0.8.2 is a minor release and contains several bugfixes and improvements:
- ๐ Bugfix #438: Improved testing without any optional
graphviz
package - Bugfix:
_check_event_result
failed when model was in parallel state - ๐ Bugfix #440: Only allow explicit
dest=None
inMachine.add_transition
(not just falsy) for internal transitions (thanks @Pathfinder216) - ๐ Bugfix #419: Fix state creation of nested enums (thanks @thedrow)
- ๐ Bugfix #428: HierarchicalGraphMachine did not find/apply styling for parallel states (thanks @xiaohuihui1024)
- Bugfix:
Model.trigger
now considers the machine's and current state'signore_invalid_triggers
attribute and can be called with non-existing events (thanks @potens1) - ๐ Bugfix: Child states may not have been exited when the executed transition had been defined on a parent (thanks @thedrow)
- ๐ Feature #429: Introduced
transitions.extensions.asyncio.AsyncTimeout
as a state decorator to avoid threads used intransitions.extensions.state.Timeout
(thanks @potens1) - ๐ Feature #444:
transitions
can now be tested online at mybinder.org - PR #418: Use sets instead of lists to cache already covered transitions in nested state machines (thanks @thedrow)
- PR #422: Improve handling of unresolved attributes for easier inheritance (thanks @thedrow)
- ๐จ PR #445: Refactored AsyncMachine to enable trio/anyio override
- ๐ Bugfix #438: Improved testing without any optional
-
v0.8.1 Changes
April 01, 2020๐ Release 0.8.1 is a minor release of HSM improvements and bugfixes in the diagram and async extension
- ๐ Feature: Introduced experimental
HierarchicalAsync(Graph)Machine
- ๐ Feature #405: Support for nested Enums in
HierarchicalMachine
(thanks @thedrow) - ๐ Bugfix #400: Fix style initialization when initial state is an
Enum
(thanks @kbinpgh) - ๐ Bugfix #403: AsyncMachine.dispatch now returns a boolean as expected (thanks @thedrow)
- ๐ Bugfix #413: Improve diagram output for
HierarchicalMachine
(thanks @xiaohuihui1024) - Increased coverage (thanks @thedrow)
- โ
Introduced
xdist
for parallel testing withpytest
(thanks @thedrow)
- ๐ Feature: Introduced experimental
-
v0.8.0 Changes
March 01, 2020๐ Release 0.8.0 is a major release and introduces asyncio support for Python 3.7+, parallel state support and some bugfixes
- ๐ 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
- The previous version can be found in
- ๐ 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 inMarkupMachine
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 tographviz
when importingpygraphviz
fails- โ
Not implemented/tested so far (contributions are welcome!):
- Proper Graphviz support of parallel states
- AsyncHierachicalMachine
- ๐ Feature:
-
v0.7.2 Changes
January 01, 2020๐ Release 0.7.2 is a minor release and contains bugfixes and and a new feature:
- ๐ Bugfix #386: Fix transitions for enums with str behavior (thanks @artofhuman)
- ๐ Bugfix #378: Don't mask away KeyError when executing a transition (thanks @facundofc)
- ๐ Feature #387: Add support for dynamic model state attribute (thanks @v1k45)
-
v0.7.1 Changes
September 01, 2019๐ Release 0.7.1 is a minor release and contains several documentation improvements and a new feature:
- ๐ Feature #334: Added Enum (Python 3.4+:
enum
Python 2.7:enum34
) support (thanks @artofhuman and @justinttl) - โ
Replaced test framework
nosetests
withpytest
(thanks @artofhuman) - Extended
add_ordered_transitions
documentation inReadme.md
- Collected code snippets from earlier discussions in
examples/Frequently asked questions.ipynb
- ๐ Improved stripping of
long_description
insetup.py
(thanks @artofhuman)
- ๐ Feature #334: Added Enum (Python 3.4+:
-
v0.7.0 Changes
August 01, 2019๐ Release 0.7.0 is a major release with fundamental changes to the diagram extension. It also introduces an intermediate
MarkupMachine
which can be used to transfer and (re-)initialize machine configurations.- ๐ Feature #263:
MarkupMachine
can be used to retrieve a Machine's dictionary representationGraphMachine
uses this representation for Graphs now and does not rely onMachine
attributes any longer
- Feature: The default value of
State.ignore_invalid_triggers
changed toNone
. If it is not explicitly set, theMachine
's value is used instead. - ๐ Feature #325: transitions now supports
pygraphviz
andgraphviz
for the creation of diagrams. Currently,GraphMachine
will check forpygraphviz
first and fall back tographviz
. To usegraphviz
directly passuse_pygraphiv=False
to the constructor ofGraphMachine
- ๐
Diagram style has been overhauled. Have a look at
GraphMachine
's attributesmachine_attributes
andstyle_attributes
to adjust it to your needs. - ๐ Feature #305: Timeouts and other features are now marked in the graphs
- ๐ Bugfix #343:
get_graph
was not assigned to models added during machine runtime
- ๐ Feature #263:
-
v0.6.9 Changes
October 26, 2018๐ Release 0.6.9 is a minor release and contains two bugfixes:
- ๐ Bugfix #314: Do not override already defined model functions with convenience functions (thanks @Arkanayan)
- ๐ Bugfix #316:
state.Error
did not call parent'senter
method (thanks @potens1)
-
v0.6.8 Changes
May 25, 2018๐ Release 0.6.8 is a minor release and contains a critical bugfix:
- ๐ Bugfix #301: Reading
Readme.md
insetup.py
causes aUnicodeDecodeError
in non-UTF8-locale environments (thanks @jodal)
- ๐ Bugfix #301: Reading
-
v0.6.7 Changes
May 18, 2018๐ Release 0.6.7 is identical to 0.6.6. A release had been necessary due to #294 related to PyPI.
-
v0.6.6 Changes
May 18, 2018๐ Release 0.6.6 is a minor release and contains several bugfixes and new features:
- ๐ Bugfix:
HierarchicalMachine
now considers the initial state ofNestedState
instances/names passed toinitial
. - ๐ Bugfix:
HierarchicalMachine
used to ignore children whenNestedStates
were added to the machine. - ๐ Bugfix #300: Fixed missing brackets in
TimeoutState
(thanks @Synss) - Feature #289: Introduced
Machine.resolve_callable(func, event_data)
to enable customization of callback definitions (thanks @ollamh and @paulbovbel) - ๐ Feature #299: Added support for internal transitions with
dest=None
(thanks @maueki) - ๐ Feature: Added
Machine.dispatch
to trigger events on all models assigned toMachine
- ๐ Bugfix: