- Dart 3.3 requirement.
- Dart 3.0 requirement.
- Dart 2.17 requirement.
- Add the ability to abort transitions from the
onBeforeTransition
event. - Add an factory method
Machine.createState
for subclasses to customize.
- Dart 2.16 requirement.
- Avoid dynamic calls across the code.
- Improve typing of State across the code-base.
- Add
onBeforeTransition
andonAfterTransition
to let others observe state transitions. - Throw a composite
TransitionError
at the end of a transition where something went wrong. - Allow
Future
andStream
transitions to recreate their source on activation using a provider function.
- Make machines and states typed, so that a custom object can be associated and used for identification of each state.
- To migrate existing code change the type of your state machine from
Machine
toMachine<String>
and make sure to provide a unique name for each call tonewState
,newStartState
, andnewStopState
.
- Dart 2.12 requirement and null-safety.
- Dart 2.3 compatibility and requirement.
- Dart 2.2 compatibility and requirement.
- Drop Dart 1.0 compatibility.
- Reformat all code.
- Reorganize into micro libraries.
- Replace deprecated async code.
- Fix CSS problem in example.
- Update documentation.
- Fix linter warnings.
- Update documentation.
- Address missing coverage.
- Fix a broken test.
- Update to use Travis.
- Support for nested machines.
- Support for enter/exist state events.
- Improve test coverage.
- Initial version.