Releases: Kontur-Mobile/VisualFSM
4.0.0
Improvements:
-
added LogParams argument to Feature for configuring built-in logging, with support for custom loggers and formatters. This provides an alternative to implementing the TransitionCallbacks interface for logging purposes
-
updated TransitionCallbacks: all method overrides are now optional; a new method onInitialStateReceived has been added
-
removed deprecated methods in Transition
-
updated dependencies
3.0.0
New functionality:
- added an optional ability to set an external state source for a Feature (IStateSource argument). This can be useful for communicating between Features via shared state, or for working with other state-based frameworks. Documentation
Error correction:
- fixed an error in a graph when using nested classes in state classes
Removing deprecated methods and integrations:
- support for RxJava 2 has been discontinued
- removed deprecated Feature constructors
- removed deprecated state graph drawing methods
2.0.0
New features:
- extended generic parameters of Transition to accept a sealed class as transition source and destination thus describing a bunch of transitions in a single Transition
- added SelfTransition as a new type of Transition to ease the creation of a state transition without the state class changing
- updated dependencies versions
Changes without backwards compatibility:
- minimal Kotlin version is 1.9
- minimal JDK version is 17
- new behavior for Transition with a basic sealed class in its generic parameters
Updated example of use in KMM project: https://github.com/Kontur-Mobile/VisualFSM-Sample-KMM
1.5.1
New features:
- Added functionality to generate a csv file with all transitions for FSM analysis using third-party tools
1.4.0
Improvements:
- Graph visualization customization
To improve readability of the graph, the ability to manage graphviz attributes when generating a graph has been added.
Using 'DotAttributes' you can change the style of the entire graph, set the shape and color of edges and nodes.
Use the preset 'DotAttributesDefaultPreset' or create your own for your project.
1.3.3
Improvements:
- Fixed use of AtomicFU, no need to add it as a dependency to the main project anymore
- Added warning suppression to generated code
1.3.2
Bug fixes:
- Fixed behavior of AsyncWorker.proceed() after calling AsyncWorker.unbind() method
- Fixed handling of AsyncWorker ExecuteAndCancelExist task
1.3.1
Bug fixes:
- Fixed handling of AsyncWorker ExecuteAndCancelExist task
1.3.0
Improvements:
- Added a possibility to change the Coroutine Dispatcher in the AsyncWorker constructor
Bug fixes:
- Fixed the onStateSubscriptionError exceptions handler in the AsyncWorker that catches all unhandled exceptions
1.2.1
Minor improvements:
- Added internal modifier to generated TransitionFactory if base Action class contains internal modifier
- Added validation of the class name of Feature and Transitions generics at the stage of code generation
- Added getEdgeName method to VisualFSM tools to get edge name by Transition class
- Changed Flow to StateFlow for Feature states observing