Skip to content

Releases: KStateMachine/kstatemachine

KStateMachine v0.32.0

23 Oct 18:54
Compare
Choose a tag to compare

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

03 Sep 14:58
Compare
Choose a tag to compare

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

03 Sep 07:50
Compare
Choose a tag to compare

Update Kotlin to 2.0.0
Minor fixes
Major documentation update

Full Changelog: v0.30.0...v0.31.0

KStateMachine v0.30.0

17 May 14:42
Compare
Choose a tag to compare
  1. This is a big release with several breaking changes (mostly you only have to update your imports or reorder method arguments)
  2. 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.
  3. Added useful shortcut functions processEventByAsync() and processEventByLaunch()
  4. Add JS and WasmJS platforms support (those platforms does not support blocking APIs due to lack of runBlocking support)
  5. Improve documentation

Full Changelog: v0.27.0...v0.30.0

KStateMachine v0.27.0

17 Feb 17:08
Compare
Choose a tag to compare

What's Changed

  • Safe state and transition naming for uml by @ayanyev in #90

New Contributors

Full Changelog: v0.26.0...v0.27.0

Thanks to @ayanyev for the help with MetaInfo implementation in this release.

KStateMachine v0.26.0

10 Feb 16:03
Compare
Choose a tag to compare

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

01 Feb 12:58
Compare
Choose a tag to compare

Full Changelog: v0.25.0...v0.25.1
Update library dependencies versions

KStateMachine v0.25.0

30 Jan 04:31
Compare
Choose a tag to compare

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

22 Dec 16:25
Compare
Choose a tag to compare

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

06 Dec 18:55
Compare
Choose a tag to compare

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