[[whatsnew]]
= What's New

== In 1.1
_Spring Statemachine 1.1_ is focusing on security and a better
interoperability with web applications.

* Comprehensive support for _Spring Security_ is added, <<sm-security>>
* Context integration with `@WithStateMachine' has been greatly
  enhanced, <<sm-context>>
* `StateContext` is now a first class citizen with how user can
  interact with a State Machine, <<sm-statecontext>>.
* Features around persistence has been enhanced with a build-in
  support for redis, <<sm-persist-redis>>.
* New feature helping with persist operations,
  <<sm-persist-statemachinepersister>>.
* Configuration model classes are now a public API.
* New features in timer based events.
* New _Junction_ pseudostate <<statemachine-config-states-junction>>.
* New _Exit Point_ and _Entry Point_ pseudostates <<statemachine-config-states-exitentry>>.
* Configuration model verifier.
* New samples, <<statemachine-examples-security>>, <<statemachine-examples-eventservice>>.
* UI modeling support using Eclipse Papyrus, <<sm-papyrus>>.

== In 1.2
_Spring Statemachine 1.2_ is focusing generic enhancements, better
_UML_ support and integrations with external config repositories.

* Support for UML submachines <<sm-papyrus-submachineref>>
* New _Repository_ abstraction keeping machine configuration in an
  external repository <<sm-repository>>
* New support for state actions. <<state-actions>>
* New transition error action concepts. <<statemachine-config-transition-actions-errorhandling>>
* New action error action concepts. <<statemachine-config-state-actions-errorhandling>>
* Initial work for _Spring Boot_ support. <<sm-boot>>
* Support for tracing and monitoring. <<sm-monitoring>>

=== In 1.2.8
_Spring Statemachine 1.2.8_ contains a bit more functionality normally
not seen in a point release but these changes didn't merit a fork of
_Spring Statemachine 1.3_.

* JPA entity classes have changed table names <<sm-repository-config-jpa>>
* New sample <<statemachine-examples-datapersist>>
* New _Entity_ classes for persistence <<sm-repository-persistence>>
  used with <<sm-repository-persistence>>
* Transition conflict policy mentioned in
  <<statemachine-config-commonsettings>>

=== In 1.2.9
_Spring Statemachine 1.2.9_ is mostly a bug fixes but two new features
went in.

* Support for proper completion transition schematics, meaning state
  do actions can now be used with anonymous transitions.
* State actions can be configured with execution timeout.

