Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
362 lines (325 sloc) 15.6 KB
SPRING STATEMACHINE CHANGELOG
=============================
https://projects.spring.io/spring-statemachine/
Issues: https://github.com/spring-projects/spring-statemachine/issues
Changes in version 3.0.0.M1 (2019-08-08)
----------------------------------------
* Initial reactive refactor [#740]
* Add initial reactive Action support [#743]
* Refactor test to use reactive methods [#744]
* Deferred events not cleared in ReactiveStateMachineExecutor [#747]
* Refactor internals to reactive methods [#750]
* Generic Boot 2.2.x and Framework 5.2.x changes [#765]
* Change StateMachineFunction to Consumer [#767]
* Add junit 5 to build infra [#772]
* Add initial reactive Guard support [#791]
* Add reactive Trigger support [#799]
* Remove TaskExecutor/TaskScheduler [#800]
Changes in version 2.1.2.RELEASE (2019-04-29)
---------------------------------------------
* Polish docs [#687]
* Editing pass [#719]
* Modernized the document production [#720]
* Add backwards compatibility between StateMachineContext serialization [#722]
* AbstractStateMachinePersister incorrectly build StateMachineContext for nested region and Fork/Join SM [#723]
* RegionPersistingInterceptorAdapter missing methods [#726]
* Infinite loop when triggering initial event of a submachine [#729]
* Post state change intercept may happen too early [#734]
Changes in version 2.1.1.RELEASE (2019-03-19)
---------------------------------------------
* Fix wrong docs in Using StateMachineRuntimePersister [#595]
* StateMachineInterceptor code is not executed [#633]
* URL Cleanup [#635]
* Add support for @EventHeader annotation [#638]
* Add new method hasStateMachine [#640]
* JoinPseudoState not tracking join states correctly [#684]
Changes in version 2.1.0.RELEASE (2019-02-18)
---------------------------------------------
* Upgrade to boot 2.1.3 [#632]
Changes in version 2.1.0.RC1 (2019-01-29)
-----------------------------------------
* Cannot define unnamed choice: "Initial state must be set" error bug [#591]
* SM persistence and change of configuration [#605]
* SOE with persistence and orthogonal states [#615]
* Kryo seem to miss StateMachineContextSerializer at times bug [#617]
* Multiple end states for Join/Fork bug [#619]
* Document region changes docs [#621]
* Re-enable devtools for samples enhancement [#623]
* Upgrade to Kryo 4 [#625]
* DefaultStateMachineContext does not override equals [#628]
Changes in version 2.1.0.M1 (2018-11-28)
----------------------------------------
* Upgrade to Spring Boot 2.1.x [#602]
Changes in version 2.0.3.RELEASE (2018-11-10)
---------------------------------------------
* Initial state wrongly entered with entry point [#577]
* Update sm.adoc [#587]
* Fixed Enum Comparison [#592]
* Fix numpad typo in Reference documentation, section B.3.8 [#594]
Changes in version 2.0.2.RELEASE (2018-07-12)
---------------------------------------------
* Update sm.adoc [#565]
* StateMachineHandlerCallHelper uses BeanFactory#toString [#569]
* Use Spring Boot autoconfigure-processor to optimize auto-configurations [#570]
* UML Factory facilities leak memory [#572]
* Upgrade to boot 2.0.3 [#576]
Changes in version 2.0.1.RELEASE (2018-04-06)
---------------------------------------------
* mvn spring-boot:run fails when devtools are on the classpath [#531]
* Add getters on some fields in TimeTrigger [#533]
* State Machine Does Not Restore To State After Load From DB [#537]
* Upgrade to boot 2.0.1 [#543]
Changes in version 2.0.0.RELEASE (2018-03-06)
---------------------------------------------
* Executor should poll until the queue is empty [#520]
* Backport 1.2.x changes for 2.0.0.RELEASE [#523]
Changes in version 2.0.0.RC1 (2018-03-01)
-----------------------------------------
* RepositoryStateMachinePersist not using contextObj as id [#494]
* Missing accessor for state actions [#502]
* Rename spring-statemachine-boot to spring-statemachine-autoconfigure [#507]
* Change jpapersist sample to support mongo and redis [#509]
* Upgrade to boot 2.0.0.RELEASE [#518]
Changes in version 2.0.0.M5 (2018-02-25)
----------------------------------------
* Docs and sample for bom/starter [#499]
* Backport 1.2.x changes for 2.0.0.M5 [#504]
* Upgrade to boot 2.0.0.RC2 [#513]
* Remove spring-statemachine-redis [#514]
Changes in version 2.0.0.M4 (2018-02-12)
----------------------------------------
* Define starter in bom [#498]
Changes in version 2.0.0.M3 (2018-02-11)
----------------------------------------
* Backport 1.2.x changes for 2.0.0.M3 [#435]
* Add starter for base statemachine features [#458]
* Implement own tracing features [#491]
* Fix broken JIRA link in contribution guidelines [#492]
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 2.0.0.M2 (2017-12-04)
----------------------------------------
* Upgrade to boot 2.0.0.M7 [#450]
Changes in version 2.0.0.M1 (2017-11-16)
----------------------------------------
* Upgrade to spring framework 5 [#296]
* Backport 1.2.x changes for 2.0.0.M1 [#307]
* Typo in StateMachineEvent [#310]
* Revamp dependencies [#313]
* Fix slow mongo tests [#314]
* Create bom for statemachine deps [#317]
* StateMachineInterceptorList set() method does nothing [#318]
* Gradle build fails [#342]
* Move away from spring-cloud-cluster [#345]
* Fix org.springframework.util.Assert deprecations [#346]
* Failing tests in monitoring sample [#350]
* Adapt to thymeleaf starter changes [#356]
* PreStateChangeInterceptors are called twice for the END pseudo state [#367]
* Fix spring-session usage [#385]
* Fix build for spring-context [#396]
* Upgrade master build to gradle 4.x [#407]
* Fix boot 2.x actuator usage [#408]
* Fix changes in boot 2.x metric system [#410]
* Fix changes in boot 2.x transitive deps for spring-data-redis [#418]
* Threading may not process all events. [#419]
* Prepare gradle build for 2.0.0.M1 [#421]
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]
You can’t perform that action at this time.