- 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