Changelog History
Page 3
-
v0.6.5 Changes
April 16, 2018๐ Release 0.6.5 is a minor release and contains a new feature and a bugfix:
- ๐ Feature #287: Embedding
HierarchicalMachine
will now reuse the machine'sinitial
state. Passinginitial: False
overrides this (thanks @mrjogo). - ๐ Bugfix #292: Models using
GraphMashine
were not picklable in the past due tograph
property. Graphs for each model are now stored inGraphMachine.model_graphs
(thanks @ansumanm).
- ๐ Feature #287: Embedding
-
v0.6.4 Changes
January 03, 2018๐ Release 0.6.4 is a minor release and contains a new feature and two bug fixes related to
HierachicalMachine
:- ๐ Bugfix #274:
initial
has not been passed to super inHierachicalMachine.add_model
(thanks to @illes). - ๐ Feature #275:
HierarchicalMachine.add_states
now supports keywordparent
to be aNestedState
or a string. - ๐ Bugfix #278:
NestedState
has not been exited correctly during reflexive triggering (thanks to @hrsmanian).
- ๐ Bugfix #274:
-
v0.6.3 Changes
November 30, 2017๐ Release 0.6.3 is a minor release and contains a new feature and two bug fixes:
- Bugfix #268:
Machine.add_ordered_transitions
changed states' order ifinitial
is not the first or last state (thanks to @janekbaraniewski). - ๐ Bugfix #265: Renamed
HierarchicalMachine.to
toto_state
to prevent warnings when HSM is used as a model. - ๐ Feature #266: Introduce
Machine.get_transitions
to get a list of transitions for alteration (thanks to @Synss).
- Bugfix #268:
-
v0.6.2 Changes
November 03, 2017๐ Release 0.6.2 is a minor release and contains new features and bug fixes but also several internal changes:
- ๐ Documentation: Add docstring to every public method
- ๐ Bugfix #257: Readme example variable had been capitalized (thanks to @fedesismo)
- โ Add
appveyor.yml
for Windows testing; However, Windows testing is disabled due to #258 - ๐ Bugfix #262: Timeout threads prevented program from execution when main thread ended (thanks to @tkuester)
prep_ordered_arg
is now protected incore
- Convert
logger
instances to_LOGGER
to comply with protected module constant naming standards traverse
is now protected inHierarchicalMachine
- โ Remove abstract class
Diagram
since it did not add functionality todiagrams
- Specify several overrides of
add_state
oradd_transition
to keep the base class parameters instead of*args
and**kwargs
- ๐ Change several
if len(x) > 0:
checks toif x:
as suggested by the static code analysis to make use of falsy empty lists/strings.
-
v0.6.1 Changes
September 04, 2017๐ Release 0.6.1 is a minor release and contains new features as well as bug fixes:
- ๐ Feature #245: Callback definitions ('before', 'on_enter', ...) have been moved to classes
Transition
andState
- ๐ Bugfix #253:
Machine.remove_transitions
converteddefaultdict
into dict (thanks @Synss) - ๐ Bugfix #248:
HierarchicalStateMachine
's copy procedure used to cause issues with function callbacks and object references (thanks @Grey-Bit) - ๐ Renamed
Machine.id
toMachine.name
to be consistent with the constructor parametername
- โ Add
Machine.add_transitions
for adding multiple transitions at once (thanks @Synss)
- ๐ Feature #245: Callback definitions ('before', 'on_enter', ...) have been moved to classes
-
v0.6.0 Changes
August 22, 2017๐ Release 0.6.0 is a major release and introduces new state features and bug fixes:
add_state_features
convenience decorator supports creation of custom statesTags
makes states taggableError
checks for error states (not accepted states that cannot be left); subclass ofTags
Volatile
enables scoped/temporary state objects to handle context parameters- โ Removed
add_self
fromMachine
constructor pygraphviz
is now optional; usepip install transitions[diagrams]
to install it- โ Narrowed warnings filter to prevent output cluttering by other 3rd party modules (thanks to @ksandeep)
- ๐ป Reword HSM exception when wrong state object had been passedn (thanks to @Blindfreddy)
- ๐ Improved handling of partials during graph generation (thanks to @Synss)
- Introduced check to allow explicit passing of callback functions which match the
on_enter_<state>
scheme (thanks to @termim) - ๐ Bug #243: on_enter/exit callbacks defined in dictionaries had not been assigned correctly in HSMs (thanks to @Blindfreddy)
- โช Introduced workaround for Python 3 versions older than 3.4 to support dill version 0.2.7 and higher (thanks to @mmckerns)
- ๐ Improved manifest (#242) to comply with distribution standards (thanks to @jodal)
-
v0.5.3 Changes
๐ Release 0.5.3 is a minor release and contains several bug fixes:
- Bug #214:
LockedMachine
as a model prevented correct addition ofon_enter/exit_<state>
(thanks to @kr2) - ๐ Bug #217: Filtering rules for auto transitions in graphs falsely filtered certain transitions (thanks to @KarolOlko)
- Bug #218: Uninitialized
EventData.transition
causedAttributeError
inEventData.__repr__
(thanks to @kunalbhagawati) - ๐ Bug #215: State instances passed to
initial
parameter ofMachine
constructor had not been processed properly (thanks @mathiasimmer)
- Bug #214:
-
v0.5.2 Changes
๐ Release 0.5.2 is a minor release and contains a bug fix:
- ๐ Bug #213: prevent
LICENSE
to be installed to root of installation path
- ๐ Bug #213: prevent
-
v0.5.1 Changes
๐ Release 0.5.1 is a minor release and contains new features and bug fixes:
- โ Added reflexive transitions (thanks to @janLo)
- Wildcards for reflexive (
wildcard_same
) and all (wildcard_all
) destinations areMachine
class variables now which can be altered if necessary. - โ Add LICENSE to packaged distribution (thanks to @bachp)
- ๐ Bug #211:
prepare
andfinalized
had not been called for HierarchicalMachines (thanks to @booware)
-
v0.5.0 Changes
๐ Release 0.5.0 is a major release:
- ๐ CHANGED API:
MachineError
is now limited to internal error and has been replaced byAttributeError
andValueError
where applicable (thanks to @ankostis) - ๐ CHANGED API: Phasing out
add_self
;model=None
will add NO model starting from next major release; usemodel='self'
instead. - ๐ Introduced deprecation warnings for upcoming changes concerning
Machine
keywordsmodel
andadd_self
- ๐ Introduced
Machine.remove_transition
(thanks to @PaleNeutron) - Introduced
Machine._create_state
for easier subclassing of states - ๐
LockedMachine
now supports custom context managers for each model (thanks to @paulbovbel) Machine.before/after_state_change
can now be altered dynamically (thanks to @peendebak)Machine.add_ordered_transitions
now supportsprepare
,conditons
,unless
,before
andafter
(thanks to @aforren1)- New
prepare_event
andfinalize_event
keywords to handle transitions globally (thanks to @ankostis) - New
show_auto_transitions
keyword forGraphMachine.__init__
(defaultFalse
); if enabled, show auto transitions in graph - New
show_roi
keyword forGraphMachine._get_graph
(defaultFalse
); ifTrue
, show only reachable states in retrieved graph - โ Test suite now skips contextual tests (e.g. pygraphviz) if dependencies cannot be found (thanks to @ankostis)
- ๐ Improved string representation of several classes (thanks to @ankostis)
- ๐ Improved
LockedMachine
performance by removing recursive locking - ๐ Improved graph layout for nested graphs
- ๐ง
transitions.extensions.nesting.AGraph
has been split up intoGraph
andNestedGraph
for easier maintenance - ๐ Fixed bug related to pickling
RLock
in nesting - ๐ Fixed order of callback execution (thanks to @ankostis)
- ๐ Fixed representation of condition names in graphs (thanks to @cemoody)
- ๐ CHANGED API: