SMC 4.3.0 introduces a new option: -reflect. Generates a getTransitions() method or Transitions property to the State class which returns a mapping from transition name to an integer value: 0 means the transition is undefined, 1 means the state defines it and 2 means the Default state defines it. This feature allows you to determine a state's supported transitions. See section 11 in the Programmer's Manual for examples.
Other features include:
+ Updated LICENSE.txt with a missing final paragraph which allows
MPL 1.1 covered code to work with the GNU GPL.
+ Added a Maven plug-in and an ant task to a new tools
directory.
Added Eiten Suez's SMC tutorial (in PDF) to a new docs
directory.
Bug Fixes:
+ (GraphViz) DOT file generation did not properly escape
double quotes appearing in transition guards. This has been
corrected.
+ A note: the SMC FAQ incorrectly stated that C/C++ generated
code is thread safe. This is wrong. C/C++ generated is
certainly *not* thread safe. Multi-threaded C/C++ applications
are required to synchronize access to the FSM to allow for
correct performance.
+ (Java) The generated getState() method is now public.