- Fix graph_transitions commnad for Django>=4.0
- Preserve chosen "using" DB in ConcurentTransitionMixin
- Fix error message in GET_STATE
- Implement Transition __hash__ and __eq__ for 'in' operator
- Improve fix for get_available_FIELD_transition
- Fix get_available_FIELD_transition on django>=3.2
- Fix refresh_from_db for ConcurrentTransitionMixin
- Fix warnings on Django 3.1+
- Django 3.0 support
- Test on Python 3.8
- Update pypi classifiers to latest django/python supported versions
- Several fixes for graph_transition command
- Fix django 1.11 compatibility
- Fix TypeError in graph_transitions command when using django's lazy translations
- graph_transition command fix for django 1.10
- graph_transition command supports GET_STATE targets
- signal data extended with method args/kwargs and field
- sets allowed to be passed to the transition decorator
- graph_transition commnad now works with multiple FSM's per model
- Add ability to set target state from transition return value or callable
- Add source state shortcut '+' to specify transitions from all states except the target
- Add object-level permission checks
- Fix translated labels for graph of FSMIntegerField
- Fix multiple signals for several transition decorators
- Improved exception message for unmet transition conditions.
- Don't send post transition signal in case of no state changes on exception
- Allow empty string as correct state value
- Improved graphviz fsm visualisation
- Clean django 1.8 warnings
- Support for class substitution to proxy classes depending on the state
- Added ConcurrentTransitionMixin with optimistic locking support
- Default db_index=True for FSMIntegerField removed
- Graph transition code migrated to new graphviz library with python 3 support
- Ability to change state on transition exception
- Support for attaching permission checks on model transitions
- Backward incompatible release
- All public code import moved directly to django_fsm package
- Correct support for several @transitions decorator with different source states and conditions on same method
- save parameter from transition decorator removed
- get_available_FIELD_transitions return Transition data object instead of tuple
- Models got get_available_FIELD_transitions, even if field specified as string reference
- New get_all_FIELD_transitions method contributed to class
- FSMIntegerField and FSMKeyField support
- Ad-hoc support for state fields from proxy and inherited models
- Python 3 compatibility
- Add graph_transition command for drawing state transition picture
- Add direct field modification protection
- Add pre_transition and post_transition signals
- Add support for transition conditions
- Allow multiple FSMField in one model
- Contribute get_available_FIELD_transitions for model class
- Initial public release