SPRING STATEMACHINE CHANGELOG
=============================
http://projects.spring.io/spring-statemachine/

Issues: https://github.com/spring-projects/spring-statemachine/issues

Changes in version 1.2.11.RELEASE (2018-04-26)
----------------------------------------------
* Backport master changes [#549]

Changes in version 1.2.10.RELEASE (2018-03-28)
----------------------------------------------
* Backport master changes [#529]
* Executor may build up triggers with timers [#538]

Changes in version 1.2.9.RELEASE (2018-03-06)
---------------------------------------------
* Support proper completion transition schematics [#466]
* Add hamcrest based version of expectVariable to StateMachineTestPlanBuilder [#483]
* Backport master changes [#496]
* Support executing state action with timeout [#501]
* StateMachineAnnotationPostProcessor should extract correct annotated method [#510]
* Configurers may cause UnsatisfiedDependencyException [#522]

Changes in version 1.2.8.RELEASE (2018-01-22)
---------------------------------------------
* StateMachine restore via Spring Data [#423]
* Spring Data repository model for machine persistence [#426]
* Configuration facilities for machine persistence [#427]
* Implement redis/mongo for machine persistence [#428]
* Document Spring Data machine persistence [#429]
* Service helping with machine persistance [#432]
* Support Spring Data repositories with enums [#433]
* Support kryo customisation [#437]
* Threading regression with substates [#442]
* Machine reset breaks extended state [#447]
* StateMachineConfigurerAdapter doesn't find correct generics [#454]
* Conflicting transitions cause undefined order behaviour [#456]
* Configuration ignored with RepositoryStateMachineModelFactory [#459]
* Name JPA constraints [#468]
* Shorten JPA table names [#469]
* Change JPA initial state field [#472]
* UmlModelParser wrongly sets state action with spel [#474]
* Update docs for 1.2.8.RELEASE [#476]

Changes in version 1.2.7.RELEASE (2017-11-15)
---------------------------------------------
* Handle null BeanFactory in StateMachineHandlerCallHelper [#412]
* Fix logging message when transition action throws exception [#413]
* Multiple exit points to same state fails [#416]
* Backport master changes  [#420]

Changes in version 1.2.6.RELEASE (2017-07-09)
---------------------------------------------
* Deadlock in lifecycle [#364]
* Unable to define multiple END states via JavaConfig [#368]
* @WithStateMachine may register too many processors [#370]
* Backport master changes [#372]
* AbstractStateMachine.getState() returns unexpected value for terminal states [#379]
* Timer not trigger when resetStateMachine [#381]
* Reset may start submachine too early [#386]
* @OnExtendedStateChanged doesn't work with a key [#387]
* resetStateMachine does not clear machine id relating to prior state context [#390]
* Make AbstractStateMachinePersister fully recursive [#391]

Changes in version 1.2.5.RELEASE (2017-05-19)
---------------------------------------------
* Support actions with transition via choice/junction pseudostate [#108]
* NPE on sendEvent [#359]
* Deadlock in executor [#360]

Changes in version 1.2.4.RELEASE (2017-05-03)
---------------------------------------------
* Prevent debug calls in AbstractStateMachine if not enabled [#329]
* StateMachineContextSerializer may throw NPE [#331]
* StateMachineContextSerializer doesn't serialise history or id [#333]
* An exception in Action causes infinite transition [#344]
* PostStateChange interceptors are not given the correct state [#353]

Changes in version 1.2.3.RELEASE (2017-03-13)
---------------------------------------------
* Backport master changes [#320]
* TimerTrigger not disarmed [#321]
* Notify transition before calling its actions [#322]
* Support connection point references [#323]

Changes in version 1.2.2.RELEASE (2017-02-14)
---------------------------------------------
* Allow to use generic qualifiers for statemachine factory [#306]
* Timer trigger deadlock in DefaultStateMachineExecutor [#315]

Changes in version 1.2.1.RELEASE (2017-01-17)
---------------------------------------------
* Support @WithStateMachine with builders [#224]
* @WithStateMachine not working when creating StateMachine with Factory [#292]
* Timing issue when using a Factory with async taskexecutor [#298]

Changes in version 1.2.0.RELEASE (2016-12-14)
---------------------------------------------
(No changes)

Changes in version 1.2.0.RC2 (2016-12-11)
-----------------------------------------
* Update docs for 1.2.0.RC2 [#284]
* Fork / Join restore issue with composite states [#286]
* Incorrect "EventNotAccepted" call when using sub-machine [#287]
* Refactor package locations for boot [#293]

Changes in version 1.2.0.RC1 (2016-11-30)
-----------------------------------------
* Choice/Junction back to source doesn't work [#228]
* Exit action may get interrupted [#233]
* Polish pdf image sizes [#268]
* Common typo "contextOjb" vs. "contextObj"? [#269]
* Update docs for 1.2.0.RC1 [#270]
* Avoid returning null for collections in AbstractState [#271]
* Add travis ci [#272]
* Add mongo repository config support [#275]
* Error actions for entry/exit/do [#277]
* Initial TCK for machine configurations [#278]
* Redis/Mongo entity states may set machineid null [#279]
* JPA actions association [#280]
* Can't set initial action in a repository config [#281]
* Autoconfigure repositories and entities [#282]

Changes in version 1.2.0.M2 (2016-11-07)
----------------------------------------
* Support tracing and monitoring [#149]
* Linked joins cause join entry [#229]
* @WithStateMachine not working when created after the state machine [#232]
* Upgrade to Boot 1.4.1 and aligned deps [#256]
* Implement full repository config support [#262]
* Update docs for 1.2.0.M2 [#263]
* StateMachineInterceptor preStateChange interceptors get called twice [#266]
* Add redis repository config support [#267]

Changes in version 1.2.0.M1 (2016-09-28)
----------------------------------------
* Support for UML Sub State Machines enhancement question [#121]
* Null transition in Interceptor's postStateChange when source is a JOIN state bug [#235]
* Support multiple transitions from join enhancement [#237]
* Update docs for 1.2.0.M1 [#238]
* Support state activity enhancement [#239]
* Exception thrown in transition are not catch then send back to any listener [#240]
* Ability to set UUID for StateMachine enhancement [#241]
* Restoring persisted context incorrectly resets state when inside fork #242
* Transitions created with withLocal() do not work [#248]
* Initial state entry called with direct transition to substate bug [#249]
* Support storing ssm config in a database enhancement [#250]
* Transition not accepted due to wrong comparison bug [#253]
* StateMachineModelFactory used only once bug [#254]
* Hook StateMachineModelFactory and StateMachineFactory together enhancement [#255]
* State action execution testing not reliable bug [#257]
* Transition error action not used per defined action bug [#259]

Changes in version 1.1.0.RELEASE (2016-05-23)
---------------------------------------------
* Start adding developer doc info into ref docs [#158]
* Don't publish build-tests [#211]
* Uml doesn't add Guard to Transition [#212]
* Support initial action in uml [#213]
* Support spel in uml model [#215]
* Complex linked pseudostates cause trouble [#217]
* UmlModelParser breaks with shadow entries [#218]
* Update docs for 1.1.0.RELEASE [#219]
* TimerTrigger with delay fires immediately [#220]
* Direct region entry doesn't bypass initial state entry [#221]
* Join state should not be entered [#222]
* Pseudostates may cause exit from parent [#223]
* Create order shipping sample [#225]
* Refactor UmlStateMachineModelFactory [#226]
* Possible NPE with final state [#227]

Changes in version 1.1.0.RC1 (2016-04-25)
----------------------------------------
* Support junction pseudostate [#42]
* Implement distributed action [#176]
* Persisting state machine id [#186]
* Restoring persisted context does not work with substates [#188]
* Final state is lost when exiting from a submachine [#190]
* Transition from direct parent to initial state enters too many times [#191]
* Support exit/entry points [#192]
* Support eclipse uml/papyrus model [#193]
* Update docs for 1.1.0.RC1 [#194]
* Subsequent choice states are not evaluated in sequence [#195]
* Support FunctionBehavior for actions [#199]
* Support resource loader in UmlStateMachineModelFactory [#200]
* Support event deferring in uml [#201]
* Support transition type in uml [#202]
* Support default history state [#204]
* Guard breaks with Throwable [#206]
* Support timers in uml [#207]
* State exit may fail with linked pseudostates [#208]
* Add new deploy sample [#209]
* UmlStateMachineModelFactory may fail for model loading [#210]

Changes in version 1.1.0.M2 (2016-03-21)
----------------------------------------
* Better config error handling [#103]
* Support testing intermediate state changes [#154]
* Document spring javaconfig usage for beans [#162]
* Listener error should not cause malfunction [#164]
* Timer interval reset for states [#165]
* Make config data classes as a public api [#172]
* Use kryo shaded [#175]
* StateMachineBuilder TimerTrigger NullPointerException [#178]
* Support @WithStateMachine as meta annotation [#179]
* Error Handling does not work when using annotations [#180]
* Support history state with persist [#182]
* Ease persisting a state machine [#184]
* Update docs for 1.1.0.M2 [#185]
* ZookeeperStateMachineEnsemble may fail to join [#187]

Changes in version 1.1.0.M1 (2016-02-01)
----------------------------------------
* Support persisting into redis [#110]
* Protect transitions and actions via spring security [#114]
* Match annotations with @WithStateMachine vs. StateMachineListener [#126]
* Event deferring doesn't work with nested states [#131]
* StateMachineTestPlan with multiple events [#134]
* Document session deps usage [#137]
* Pass StateContext to StateMachineListener methods [#138]
* Upgrade to kryo 3 [#139]
* Machine not started with session scope and annotation config [#141]
* notifyTransition and notifyTransitionEnd call wrong publish methods [#144]
* DefaultStateMachineExecutor using wrong extended state [#146]
* Exception in action in transition may cause machine to malfunction [#148]
* Harmonise use of StateContext [#150]
* Distributed machine with zk may miss events [#152]
* Add redis persist sample [#160]
* Add default taskExecutor/taskScheduler for machine via builder [#161]
* Reset machine with null context [#166]
* Update docs for 1.1.0.M1 release [#168]

Changes in version 1.0.1 (2015-11-18)
-------------------------------------
* autoStart via @EnableStateMachineFactory doesn't work [#113]
* Update to framework 4.2.2 [#115]
* Association with @EnableStateMachine and @WithStateMachine [#116]
* EnableStateMachineFactory fails when there are 2 state machine configurations [#117]
* PersistStateMachineHandler returning event outcome [#118]
* NPE with missing configurer [#119]
* Context events not working with StateMachineBuilder [#120]

