##### Commons SCXML Resources

- Overview
- User Guide
- Javadoc
- FAQ
- Usecases
- Building
- Dependencies
- Mailing lists
- Team
- SVN repository
- Nightly snapshots

##### Releases

- Version 0.7
- Version 0.6
- Version 0.5

##### Project Documentation

- About
- Project Info
- Project Reports
  - Changes
  - Checkstyle
  - FAQs
  - JavaDocs
  - Unit Tests
  - Source Xref
  - Test Xref
  - Project License
- Development Process

##### Commons

- Home
- Components
- Sandbox
- Dormant
- Volunteering
- Contributing Patches
- Building Components
- Releasing Components
- Wiki

##### Legend

- External Link
- Opens in a new window

## Release History

Version | Date | Description
--- | --- | ---
0.7 | December 2007 | Latest release
0.6 | December 2006 | Release
0.5 | July 2006 | First release

Get the RSS feed of the last changes

## About this document

- The latest release of Commons SCXML is version 0.7.
- If you are interested in helping the project, join us on the commons-dev mailing list.

## Release 0.7 - December 2007

Type | Changes | By
--- | --- | ---
| [12-12-2007 ] Add experimental Maven2 pom.xml to source distro. | rahul
| [12-12-2007 ] Update JUnit dependency version to 3.8.2. | rahul
| [12-08-2007 ] AbstractStateMachine and SimpleSCXMLListener classes switched to the new SCXMLParser. | rahul
| [12-06-2007 ] Recommended version of Commons Logging has been upgraded to v1.1.1. | rahul
| [12-06-2007 ] Wild card ev ent name handling on transitions made in line with WD. Fixes SCXML-53. | rahul
| [12-04-2007 ] Clarify via class Javadoc interaction model between Invokers and parent executor. Fixes SCXML-61. | rahul
| [12-04-2007 ] Add support for the < event > tag. Fixes SCXML-55. | rahul
| [12-04-2007 ] Object model not stateless due to State class. Store the completion status for composite states along with other instance information in the executor. Fixes SCXML-58. | rahul
| [12-04-2007 ] Deprecate SCXMLDigester class in favor of the new SCXMLParser class. The new class supports newer Working Drafts and has better naming. | rahul
| [12-03-2007 ] Fix possible race condition in AsyncTrigger class. Fixes SCXML-60. Thanks to Andy Bailey . | rahul
| [12-03-2007 ] Events from custom actions missing payload. Also fix test classes to safely create contexts. Fixes SCXML-54. Thanks to Mike Tillberg . | rahul
| [12-03-2007 ] Skip serialization tests if necessary directory cannot be created. | rahul
| [11-30-2007 ] Support nested invokes when using SimpleSCXMLInvoker class. | rahul
| [11-16-2007 ] Update Maven 2 build to include source and binary assemblies and site resources. Thanks to Niall Pemberton . | niallp
| [08-20-2007 ] Apply per region document order filter for transition conflict resolution. See SCXML-52 for part of discussion. | rahul
| [08-0 6-2007 ] SimpleSCXMLInvoker may miss transition to final state. Fixes SCXML-49. | rahul
| [08-01-2007 ] Fix conflict resolution for conditionless stay transitions. class. Fixes SCXML-52. Thanks to Ingmar Kliche . | rahul
| [07-30-2007 ] Various changes related to the Commons TLP move. | rahul
| [07-27-2007 ] Delete existing child nodes before adding new ones when using < assign > to supply new values to < data > nodes. Fixes SCXML-51. | rahul
| [06-26-2007 ] Fixed subclassing behavior for AbstractStateMachine class. Fixes SCXML-48. Thanks to Michael Heuer . | rahul
| [06-15-2007 ] Better names for getter and setter of the boolean property State#isFinal. Previous names deprecated. Fixes SCXML-44. | rahul
| [06-15-2007 ] Added a SCXMLListener abstract adapter class. Fixes SCXML-46. Thanks to Michael Heuer . | rahul
| [06-15-2007 ] Added information about failing expression to evaluation error messages. Fixes SCXML-41. | rahul
| [06-14-2007 ] Remove KEYS file, in favor of one file for all of Commons. Thanks to Henri Yandell . | bayard
| [05-29-2007 ] Payload of events sent to current scxml session using < send > tag are now injected into engine. Commons SCXML adds the special _eventdatamapvariable for storing payloads for derived events. Fixes SCXML-45. | rahul
| [04-25-2007 ] Replace deprecated API usage, with current ones. | rahul
| [04-25-2007 ] The test package switched to using SCXMLParser class. | rahul
| [04-25-2007 ] Added support for < final > to SCXMLParser class. | rahul
| [04-25-2007 ] Add a Commons SCXML namespace to support implementation specific actions. Moved < var > and < exit > actions to this implementation specific namespace. | rahul
| [03-24-2007 ] New set of tests matching vocabulary in latest Working Draft, for testing the new SCXMLParser class. | rahul
| [03-24-2007 ] Deprecate various method in the model package (primarily SCXML, State and Parallel classes) based on changes brought on by the latest WDs. | rahul
| [03-22-2007 ] Add new parser (org.apache.commons.scxml.io.SCXMLParser) to support latest WD and improve naming. | rahul
| [03-12-2007 ] The regions of a parallel are entered in document order. This is implementation-specific behavior and users should not rely on it. | rahul
| [03-12-2007 ] Added tests for conflict resolution based on document order and for multiple transition targets. | rahul
| [03-12-2007 ] Deprecated various methods in Transition class that refer to a singular target. | rahul
| [03-12-2007 ] Implement ability to support multiple transition targets (space separated list of state IDs). IDs must no longer contain whitespace. | rahul
| [03-12-2007 ] Better handling of parent-child relationships (part 1). Fixes SCXML-30. | rahul
| [03-12-2007 ] Deprecated State#getTransitions() in favor of State#getTransitionsList(). | rahul
| [03-09-2007 ] Implement document order priority for transitions. | rahul
| [12-18-2006 ] SCXMLExecutor#logState() now uses debug level to reduce noise at console. | rahul

## Release 0.6 - December 2006

Type | Changes | By
--- | --- | ---
| [12-12-2006 ] target and targettype attributes of < send > element are now evaluated as expressions. Fixes SCXML-16. Thanks to Sitthichai Rernglertpricha . | rahul
| [12-12-2006 ] Set tests to warn, but not fail, if the DOM L2 implementation in use is not serializable. | rahul
| [12-07-2006 ] Update Commons Logging to version 1.1. Fixes SCXML-32. | rahul
| [12-07-2006 ] Update Commons JEXL to version 1.1. Fixes SCXML-32. | rahul
| [12-07-2006 ] Improved processing of namespace prefixes in deferred evaluation of XPath expressions. Fixes SCXML-33. | rahul
| [12-06-2006 ] Update Commons Digester to version 1.8. Fixes SCXML-32. | rahul
| [11-22-2006 ] Logging for < var > and < assign > . Fixes SCXML-31. Thanks to Nestor Urquiza . | rahul
| [11-08-2006 ] Add project DOAP file. | rahul
| [11-07-2006 ] Add a test case to demonstrate adding a custom action with the same local name as one of the standard SCXML actions (but a different namespace). | rahul
| [11-04-2006 ] Add tests to ensure white box behavior of the < state > element's src attribute. | rahul
| [10-23-2006 ] Up to date versions for the usecases blurbs for the website. Update image on site front page. | rahul
| [10-17-2006 ] Added serial version UIDs. Fixes SCXML-29. | rahul
| [10-17-2006 ] New EventDispatcher implementation (SimpleScheduler) that provides the ability to deal with delayed events for the "scxml" < send > targettype. Fixes SCXML-21. | rahul
| [10-11-2006 ] Some thread-safety improvements for SCXMLExecutor instances. Fixes SCXML-2. | rahul
| [10-11-2006 ] Update to new ASLv2 license headers for source files. | rahul
| [10-05-2006 ] The Commons SCXML object model as well as the SCXMLExecutor instances are now serializable. | rahul
| [10-02-2006 ] Deprecate ErrorReporter fields, add ErrorConstants class for default Commons SCXML semantics. Fixes SCXML-25. | rahul
| [09-29-2006 ] Begin the deprecation process for custom digester rules in the io package. Fixes SCXML-23. | rahul
| [09-21-2006 ] SCXML elements have to be defined in the following namespace (case sensitive): http://www.w3.org/2005/07/scxml | rahul
| [08-07-2006 ] Allow the target of a transition to be omitted. Fixes SCXML-14. Thanks to Sitthichai Rernglertpricha . | rahul
| [07-28-2006 ] Updated web site to reflect 0.5 release. | rahul

## Release 0.5 - July 2006

Type | Changes | By
--- | --- | ---
| [07-19-2006 ] SCXML doesn't compile using (Sun) JDK 1.5. actions. Fixes SCXML-13. | rahul
| [07-19-2006 ] Add src attribute processing for assign tag. Fixes SCXML-3. | rahul
| [06-19-2006 ] Added invoke, param and finalize processing. These SCXML elements were added in the January 2006 Working Draft. | rahul
| [05-17-2006 ] Reflect use of JIRA as the issue tracker for Commons SCXML. Bugzilla should no longer be used. | rahul
| [05-17-2006 ] Added examples of shallow and deep history. | rahul
| [05-17-2006 ] External document digester now processes custom actions. Fixes SCXML-8. | rahul
| [05-04-2006 ] Added section on custom semantics to user guide. | rahul
| [05-04-2006 ] Added explicit Instructions on core-engine.html from user guide. Fixes SCXML-4. | rahul
| [05-04-2006 ] Added datamodel explanation and examples to user guide. Fixes SCXML-10. | rahul
| [05-04-2006 ] Added documentation blurb on common interaction patterns using the Commons SCXML library (the "glue" or "bridge" code). | rahul
| [04-24-2006 ] Commons SCXML has graduated from Commons Sandbox, updated repository to reflect move to Commons Proper. | rahul
| [04-20-2006 ] Added documentatio n on "_eventdata" and method invocation in expression languages used. | rahul
| [04-20-2006 ] Allow SCXML documents using EL to define arbitrary EL functions by providing a FunctionMapper to the ELEvaluator. | rahul
| [04-20-2006 ] Provide access to SCXMLExecutor's root context. Fixes SCXML-11. | rahul
| [04-03-2006 ] Added support for the wildcard (*) event. | rahul
| [04-03-2006 ] Added _eventdata support. The payload of a triggered event is available under the special variable named _eventdata. | rahul
| [03-28-2006 ] Unnamed trigger events are now correctly processed (they do not match any event name). | rahul
| [03-23-2006 ] Initial cut at supporting the datamodel section from the January 06 Working Draft. | rahul
| [03-06-2006 ] Added a FAQ page for the Commons SCXML website. Added a section on SCXML Contexts and Evaluators (plugging in an expression language) to the online "guide". | rahul
| [03-03-2006 ] Add support for "target" attribute of "transition" element per the latest (Jan 06) WD. | rahul
| [03-03-2006 ] Added a Maven2 POM. Thanks to Wendy Smoak . | rahul
| [03-01-2006 ] A new usecase for a stand-alone application modeling a stopwatch. Fixes SCXML-7. | rahul
| [02-28-2006 ] AbstractStateMachine class added that demonstrates one approach for providi ng the base functionality needed by standalone classes representing stateful entities, whose behaviors are defined via SCXML documents. | rahul
| [02-27-2006 ] Improve Commons SCXML website "guide". Added a section on SCXML documents, and another on custom actions. | rahul
| [02-25-2006 ] Added easier support for custom actions. Provide a "hello world" example using a custom action. | rahul
| [02-25-2006 ] Refactor processing of actions (they now contain an "execute" method). | rahul
| [02-24-2006 ] Define ExternalContent interface to mark elements that may contain "body content" (in external namespaces), for example, the SCXML "send" element. | rahul
| [02-22-2006 ] Minor Javadoc fixes and additions. | rahul
| [02-09-2006 ] Basic test cases for SCXML document execution when using JEXL as the expression language. | rahul
| [02-09-2006 ] JexlEvaluator was still assuming a flat context (which was changed on 02-05-2006, see change item below). Thanks to sungchan . | rahul
| [02-05-2006 ] Numerous JUnit test cases added. Start publishing cobertura report. Fixes SCXML-1. Thanks to Peter Costa . | rahul
| [02-05-2006 ] Contexts are now created per State, but only as and when needed. The commit message for r374981has the details. | rahul
| [02-05-2006 ] The Commons SCXML object model is now decoupled from the SCXML execution engine instance. The Commons SCXML object model is now stateless. For example (incomplete list): A "SCXML" object no longer contains a root "Context" A "State" no longer contains a "Context" A "Transition" no longer contains a list of "SCXMLListeners" attached A "History" no longer contains the last known configuration. The advantage of this decoupling is that the SCXML document can be parsed once and reused across multiple execution instances, concurrently or otherwise. Fixes SCXML-6. Thanks to Tim O'Brien . | rahul
| [01-22-2006 ] Package reorganization. Mostly out of discussions on the dev list, three new packages were introduced: A "test" package for the command line testing utility classes An "io" package for classes related to reading and writing SCXML documents A "servlet" environment package for the classes that depend on the servlet API for Commons SCXML usecases in servlet containers. | rahul
| [01-11-2006 ] Various website and documentation improvements. | rahul
| [01-08-2006 ] Improve dependencies webpage by providing URLs for each. Improve navigation by providing "quick links". | rahul
| [01-08-2006 ] Added JEXL support for SCXML documents. | rahul
| [01-07-2006 ] SCXML serialization bits available in a utility class. | rahul
| [12-21-2005 ] SCXML digester instances are now available for further c ustomization of the default digester ruleset. | rahul
| [12-21-2005 ] The static digest() methods of the SCXMLDigester class now throw the same exceptions as the underlying ones from Digester#parse(). | rahul
| [12-10-2005 ] Make digester namespace aware, and capture arbitrary namespace children of SCXML < send > element. | rahul
| [11-17-2005 ] Site overhaul according to recent discussions on the commons-dev mailing list. | rahul
| [10-18-2005 ] Decouple SCXML engine from the SCXML execution semantics; make SCXML semantics pluggable. | rahul
| [10-18-2005 ] Added UML state machine diagrams to the usecases section of the website. | rahul
| [10-14-2005 ] Added documentation on usecases to website: Usecase 1: To configure instances of the RDC group container. Usecase 2: To describe Shale dialogs. | rahul
| [10-14-2005 ] Added API notes to website: SCXML digester SCXML engine Firing events on an SCXML engine Standalone testing Fun with EL | rahul
| [10-14-2005 ] Updated dependency information to indicate purpose of dependency (core, test, usecases etc.). | rahul
| [10-14-2005 ] Added Commons look and feel (navigation bar) to website. | rahul
| [10-10-2005 ] Added second usecase for Commons SCXML (within ASF projects). Demonstrated the use of SCXML documents for describing Shale dialogs. | rahul
| [10-09-2005 ] Add a faces package for JSF-based environments (env.faces) | rahul
| [10-09-2005 ] Updated ant build file to include MyFaces dependency (usecases only). | rahul
| [10-08-2005 ] Out of the box "simple" interface implementations. Added simple loggers that implement ErrorHandler, ErrorReporter and SCXMLListener. Added a SimpleContext that wraps a variables (name to value) Map. | rahul
| [10-08-2005 ] VariableResolver#resolveVariable() should return null if variable is not found instead of throwing an exception (in ELEvaluator.java) | rahul
| [09-29-2005 ] The scxml.env package has a new child jsp package, to distribute the current contents of the env package such that each supported environment can get its own package in the source. | rahul
| [09-29-2005 ] Enhanced the Standalone testing functionality to enable: Value change events on the current Context. Dummy events to re-evaluate conditionals on event-less transitions. | rahul
| [09-15-2005 ] Now handling outgoing transitions from a Parallel (Section 3.4 SCXML WD). Thanks to Jaroslav Gergic . | rahul
| [09-15-2005 ] Minor Javadoc tweaks. | rahul
| [09-15-2005 ] "Microwave" test samples reset timer on leaving "cooking" state so state machines can be re-run many times (without a "reset") | rahul
| [09-08-2005 ] Updated Commons SCXML logo. | rahul
| [08-27-2005 ] Use a customized set of checkstyle rules. These are the Sun checks with three changes as discussed on the dev list: Use a regexp header check for ASL Disable 'hide a field' check (lot of noise from setters) Disable 'method design for extension' check | rahul
| [08-27-2005 ] Six minor code changes based on FindBugs reports. | rahul
| [08-25-2005 ] Switch to new ant build file that will work better for the Commons nightlies. | rahul
| [08-24-2005 ] RootContext (used in the JSP environment) should override ELContext#has(String) method. | rahul
| [08-24-2005 ] Enhanced couple of samples used by the test cases. | rahul
| [08-23-2005 ] Added JUnit Test Framework. | rahul
| [08-23-2005 ] Upgraded Digester version in project dependencies to 1.7. | rahul
| [08-23-2005 ] Added BeanUtils 1.7.0 dependency as needed by Digester. | rahul
| [08-20-2005 ] Corrected year of inception in License. | rahul
| [08-20-2005 ] Corrected some 1500+ checkstyle errors. | rahul
| [08-20-2005 ] This changes document added. | rahul
| [08-17-2005 ] Initial SCXML codebase copied from the RDC Taglib codebase (par t of Jakarta Taglibs Proper). | rahul
| [08-17-2005 ] Initial build artifacts, STATUS and PROPOSAL documents. | rahul