All Versions
44
Latest Version
Avg Release Cycle
77 days
Latest Release
1042 days ago

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 in Machine.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's ignore_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 in transitions.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
  • 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 with pytest (thanks @thedrow)
  • 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
    • ๐Ÿ”‹ 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
  • 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 with pytest (thanks @artofhuman)
    • Extended add_ordered_transitions documentation in Readme.md
    • Collected code snippets from earlier discussions in examples/Frequently asked questions.ipynb
    • ๐Ÿ‘Œ Improved stripping of long_description in setup.py (thanks @artofhuman)
  • 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 representation
      • GraphMachine uses this representation for Graphs now and does not rely on Machine attributes any longer
    • Feature: The default value of State.ignore_invalid_triggers changed to None. If it is not explicitly set, the Machine's value is used instead.
    • ๐Ÿ”‹ Feature #325: transitions now supports pygraphviz and graphviz for the creation of diagrams. Currently, GraphMachine will check for pygraphviz first and fall back to graphviz. To use graphviz directly pass use_pygraphiv=False to the constructor of GraphMachine
    • ๐Ÿ’… Diagram style has been overhauled. Have a look at GraphMachine's attributes machine_attributes and style_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
  • 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's enter 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 in setup.py causes a UnicodeDecodeError in non-UTF8-locale environments (thanks @jodal)
  • 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 of NestedState instances/names passed to initial.
    • ๐Ÿ›  Bugfix: HierarchicalMachine used to ignore children when NestedStates 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 to Machine