All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added missing possible destination states to all PermitDynamic and PermitDynamicIf, see issue #305.
- Fixed trigger execution order issue if there are uncaught exceptions. Ref issue #267
- Fixed issue #272 and #275. Triggers with no parameters threw exceptions when checking if they could be fired, or retrieved with GetPermittedTriggers.
- Added missing initial transition, see PR #286.
- Activate and deactivate actions only runs on manual call to Activate / Deactivate. This breaks the v4.4 implementation, where activate/deactivate actions are run on every state transition.
- PR #348 Added trigger parameters to OnTransitioned event
- #342 StateMutator is called multiple times with the same state
- #345 Wrong behavior with FiringMode.Immediate in version 4.3.0
- #339 OnEntry behavour different: Unit test broken when updated to 4.3.0 from 4.2.1
- #292 Nested InitialTransitions calls superstate onEntry twice
- Netstandard2.0 support
4.2.0 - 2018.06.01
- PR #254 Add initial transitions
- Simplified examples a bit and added comments
- #261 Reentrant trigger in substate causes exit action to be executed twice
- #263 NullReferenceException bug introduced in commit c13e181b
4.1.0 - 2018-05-18
- #246 Queuing should not be the default behavior
- #191 Shouldn't Reentry fire OnEntry from substate?
- #228 guard function called twice?
- #214 Transition object holds parent state as source state instead of child
- #249 Latest prerelease v4.0.1-dev-00294 bug (Internal transition handler not executing)
4.0.0 - 2017-09-30
- #169 HTML format DOT graph output
- #132 Conditional InternalTransition
- #130 Support InternalTransition for all TriggerWithParams
- #178 Replace calls to Enforce.ArgumentNotNull with in-place null checks, and other changes suggested by CodeCracker
- #168 Modified the output of OnUnmute to display the correct message
- #164 Reducing confusion, and fixing invalid cast in Reflection.
- #158 Create new ActionInfo class, start insinuating it
- #156 TriggerInfo.Value -> UnderlyingTrigger
- #149 Moved StateType and TriggerType into StateMachineInfo, removed TriggerInfo
- #147 Extracting common abstract base class for transition info
- #142 Further reflection API refinement
- #141 Update to RTM dotnet tooling/VS2017
- #137 Replace magic string usages with nameof()
- #125 Adding check for cyclic configuration
- #123 Update for the current .NET Core version
- #175 Fix Multiple internal transition actions executed if defined in state hierarchy, and Renamed DynamicTransitionInfo.Destination to DestinationDescription
- #144 Fix unbounded recursion/fully initialize sub/super-states
- #140 Adding recursive trigger processing to InternalFireAsync