Skip to content

Releases: Devessier/brainy

Fix issue with transitions without target from root state node

05 Aug 16:59
8b2929b
Compare
Choose a tag to compare

Transitions from root state without a target were breaking the state machine.

Now they work properly and re-enter the current state of the state machine.

Fix issue with transitions from root state node

13 Jul 09:11
30e3742
Compare
Choose a tag to compare

Events caught by the root state node can now transition properly to another state node.
Previously an error was thrown because we assumed that all transitions had to be made from the parent of the state node that caught the event. This was not correct for the root state node.

Fix issue with sibling transitions in compound states

08 Jul 07:56
4588032
Compare
Choose a tag to compare

Transitions from sibling to sibling now work. Tests have been added to guarantee that.

Add context to errors to ease debugging

07 Jul 17:26
987e911
Compare
Choose a tag to compare

We especially improved the error returned by the validator when it encounters an invalid transition.

Fix issue with compound states transitions

07 Jul 16:41
581a4e4
Compare
Choose a tag to compare

There were issues with compound states transitions validations and with compound targets.
Now compound states transitions are correctly validated preemptively and compound targets work the same as with XState.

Fix issue with context given to initial transition actions

30 Jun 09:23
5377711
Compare
Choose a tag to compare

Now the initial transition actions are called with the correct context value.

Add option to disable mutex safety

29 Jun 20:44
a5c3342
Compare
Choose a tag to compare

We added an option to disable mutex usage. This is absolutely not recommended to use it in most cases.

Implement Send action

29 Jun 19:49
d5a3a68
Compare
Choose a tag to compare

The Send action allows to declaratively send an event to a state machine. The event will be sent when the action will be called. It happens during a transition, when entering a state or when exiting a state.

Fix issue with blank target

28 Jun 13:33
fe73173
Compare
Choose a tag to compare

We understand blank targets as transitions to the state node itself.

Implement hierarchical states

27 Jun 14:24
0067bec
Compare
Choose a tag to compare

We implemented compound states. Compound states allow to prevent state explosion and to scope nested states.

State nodes now have a .Matches(parentStateValue ...StateType) method to get whether or not the state matches the parent state given as parameter.