Releases: KStateMachine/kstatemachine
KStateMachine v0.32.0
Add event recording mechanism implementation using Kotlinx.Serialization
, allowing to serialize and restore state machines 💾.
The implementation is located in new separated artefact kstatemachine.serialization
Some DSL methods like addState
, addInitialState
etc became suspendable
. This allows calling suspend functions in a moment of state machine creation if necessary, as all those DSL method has a trailing lambda as a last argument.
docs https://kstatemachine.github.io/kstatemachine/pages/persistence.html
Full Changelog: v0.31.1...v0.32.0
KStateMachine v0.31.1
Fix export output. Now it contains explicit StateMachine block (wrapping all output). This is necessary for machines with parallel child mode for instance.
Full Changelog: v0.31.0...v0.31.1
KStateMachine v0.31.0
Update Kotlin to 2.0.0
Minor fixes
Major documentation update
Full Changelog: v0.30.0...v0.31.0
KStateMachine v0.30.0
- This is a big release with several breaking changes (mostly you only have to update your imports or reorder method arguments)
- The biggest new feature of this release is an EventRecording mechanism allowing to serialise and deserialise StateMachine's configuration. See more info in docs and code comments.
- Added useful shortcut functions
processEventByAsync()
andprocessEventByLaunch()
- Add
JS
andWasmJS
platforms support (those platforms does not support blocking APIs due to lack of runBlocking support) - Improve documentation
Full Changelog: v0.27.0...v0.30.0
KStateMachine v0.27.0
KStateMachine v0.26.0
What's Changed
- Allow specify multiple target states for transitions by @nsk90 in #91
- Add Mermaid export feature by @nsk90 in #92
- Add unsafeCallConditionalLambdas flag for export feature, to allow partly export conditionally calculated transitions.
Full Changelog: v0.25.1...v0.26.0
KStateMachine v0.25.1
Full Changelog: v0.25.0...v0.25.1
Update library dependencies versions
KStateMachine v0.25.0
What's Changed
- Rework StateMachine starting process using Event by @nsk90 in #83
- Allow using choiceState in initial state path.
Full Changelog: v0.24.1...v0.25.0
KStateMachine v0.24.1
Fix bug that stopped machine could not be destroyed.
Fix bug that navigation to child of parallel state could not be performed.
Full Changelog: v0.24.0...v0.24.1
v0.24.0
Add choiceDataState() function that creates PseudoState allowing to choose between DataStates of same type.
Add showEventLabels flag to exportToPlantUml() function. This flag adds event labels to output.
What's Changed
- Proposal to add the option to use event class names as transition labels in PlantUML export by @jmichaud in #75
New Contributors
Full Changelog: v0.23.0...v0.24.0