<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
-->

<document>

  <properties>
    <title>Commons SCXML Changes</title>
    <author email="rahul@apache.org">Rahul Akolkar</author>
  </properties>

  <body>

    <section name="About this document">
      <ul>
        <li>The latest release of Commons SCXML is version 0.8.</li>
        <li>If you are interested in helping the project, join us on the
            <a href="mail-lists.html">commons-dev mailing list</a></li>
      </ul>
    </section>

    <release version="2.0" date="In SVN trunk"
      description="Latest unreleased code">

      <action dev="ate" type="fix" issue="SCXML-194">
        [03-01-2014] Drop outdated, incomplete, broken or no longer supported features for SCXML 2.0.
      </action>

      <action dev="ate" type="fix" issue="SCXML-206">
        [09-07-2014] Specification mismatch: event-less transitions are triggered by named events.
      </action>

      <action dev="ate" type="add" issue="SCXML-187">
        [01-27-2014] Add support for initial SCXML script (SCXML spec 3.2.2: &lt;scxml&gt; children).
      </action>

      <action dev="ate" type="add" issue="SCXML-191">
        [01-27-2014] Support foreach element.
      </action>

      <action dev="ate" type="add" issue="SCXML-190">
        [01-27-2014] Check and enforce required scxml element attributes as defined by the specification.
      </action>

      <action dev="ate" type="add" issue="SCXML-186">
        [04-03-2014] Groovy expression evaluator.
      </action>

      <action dev="ate" type="add" issue="SCXML-200">
        [04-03-2014] Normalize and complete the SCXML object model and parsing.
      </action>

      <action dev="ate" type="add" issue="SCXML-199">
        [03-17-2014] Map the &lt;scxml&gt; initial attribute to an initial Transition instead of a (single) TransitionTarget.
      </action>

      <action dev="ate" type="add" issue="SCXML-198">
        [03-17-2014] &lt;history&gt; elements (now) requires a &lt;transition&gt; child element with a default target configuration.
      </action>

      <action dev="ate" type="add" issue="SCXML-197">
        [04-03-2014] Better separation of concern between SCXMLExecutor and SCInstance and introducing a new SCXMLExecutionContext.
      </action>

      <action dev="ate" type="add" issue="SCXML-196">
        [04-03-2014] Redefine SCXMLSemantics to align with the Algorithm for SCXML Interpretation as described in the SCXML specification.
      </action>

      <action dev="ate" type="add" issue="SCXML-182">
        [04-03-2014] Support error event raising to comply the spec "3.12.2 Errors".
      </action>

      <action dev="woonsan" type="fix" issue="SCXML-178">
        [11-28-2013] Initial state ID attribute in SCXML element shouldn't be mandatory.
      </action>

      <action dev="woonsan" type="fix" issue="SCXML-180">
        [12-04-2013] Prevent NPEs for possible null value returned from Evaluator.eval* methods.
      </action>

      <action dev="ate" type="add" issue="SCXML-183">
        [12-05-2013] Expose JexlEngine strict/silent mode settings through the JexlEvaluator for easier customization.
      </action>

      <action dev="ate" type="add" issue="SCXML-170">
        [10-15-2013] Move to new package and artifact org.apache.commons.scxml2 and version 2.0.
      </action>

      <action dev="ate" type="fix" issue="SCXML-168">
        [10-14-2013] Test failure in SCXMLWriterTest using Java 7.
      </action>

      <action dev="dbrosius" type="fix" issue="SCXML-171">
        [10-16-2013] Upgrade JUnit dependency to 4.11.
      </action>

      <action dev="woonsan" type="fix" issue="SCXML-167" due-to="Maikel Linke">
        [11-28-2013] SimpleScheduler removes wrong Timer.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-161">
        [06-06-2011] transition leaving a child state of parallel.
      </action>

      <action dev="ate" type="add" issue="SCXML-224">
        [01-02-2015] Improve SCXML state configuration handling and optional validation.
      </action>

      <action dev="ate" type="add" issue="SCXML-222">
        [11-14-2014] Add support for executing the SCXML IRP test cases.
      </action>

      <action dev="ate" type="add" issue="SCXML-214">
        [11-14-2014] Replace JAXP xpath expression evaluation with Commons JXPath.
      </action>

      <action dev="ate" type="add" issue="SCXML-213">
        [11-14-2014] Fixing the datamodel handling - reimplement xpath processing, the Data() function and the &lt;assign&gt; action.
      </action>

      <action dev="ate" type="add" issue="SCXML-210">
        [10-10-2014] Align &lt;send&gt; action attributes support with the latest SCXML specification.
      </action>

      <action dev="ate" type="fix" issue="SCXML-209">
        [10-08-2014] Incomplete legal state configuration validation in ModelUpdater.
      </action>

      <action dev="ate" type="add" issue="SCXML-212">
        [10-11-2014] Add support for SCXML datamodel type and default Evaluator instantiation.
      </action>

      <action dev="ate" type="fix" issue="SCXML-211">
        [10-11-2014] Bug in current SCXML specification for addDescendantStatesToEnter algorithm can lead to illegal configurations.
      </action>

      <action dev="ate" type="add" issue="SCXML-72">
        [10-17-2013] Rewrite the IO package for version 2.0.
      </action>

      <action dev="ate" type="fix" issue="SCXML-99">
        [03-30-2014] Support read-only system variables.
      </action>

      <action dev="woonsan" type="fix" issue="SCXML-100">
        [01-02-2014] Support _event variable.
      </action>

      <action dev="sebb" type="fix" issue="SCXML-91">
        [01-07-2009] Test case bugs.
      </action>

      <action dev="woonsan" type="fix" issue="SCXML-227" due-to="Michael Goerlich">
        [04-08-2015] Cancel doesn't work.
      </action>

      <action dev="rahul" type="add" issue="SCXML-109">
        [07-16-2009] Attribute targettype of send and invoke elements changed to type in SCXML Working Draft (7 May 2009).
      </action>

      <action dev="ate" type="fix" issue="SCXML-203">
        [04-21-2014] Calculation of states to be entered can be depending on states to be exited and thereby also their possible history.
      </action>

      <action dev="ate" type="fix" issue="SCXML-202">
        [04-18-2014] State machine running status must be kept and maintained by SCInstance across serialization and deserialization.
      </action>

      <action dev="woonsan" type="add" issue="SCXML-179">
        [12-03-2013] Leave more context (location) information when failing to execute JEXL scripts.
      </action>

      <action dev="woonsan" type="add" issue="SCXML-172">
        [10-16-2013] Improve CustomActionTest not to depend on test method execution order.
      </action>

      <action dev="woonsan" type="fix" issue="SCXML-160">
        [11-08-2013] Cast to State in TransitionTargetComparator.
      </action>

      <action dev="woonsan" type="add" issue="SCXML-225" due-to="Franck Foutou">
        [02-13-2015] Preserve order in &lt;send&gt; namelist attribute values.
      </action>

      <action dev="ate" type="add" issue="SCXML-221">
        [11-15-2014] Add "null" datamodel support as required by the SCXML specification.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-104" due-to="Jorge Vila Forcén">
        [01-09-2009] AbstractStateMachine log error.
      </action>

      <action dev="sebb" type="fix" issue="SCXML-103">
        [01-06-2009] Remove any catch (Throwable t) occurences.
      </action>

      <action dev="ate" type="fix" issue="SCXML-193">
        [02-15-2014] Drop non-functional exit element.
      </action>

      <action dev="woonsan" type="fix" issue="SCXML-177">
        [12-05-2013] Correct error/warning messages in SCXML reading to be up-to-date.
      </action>

      <action dev="woonsan" type="add" issue="SCXML-114" due-to="Henri Biestro">
        [11-01-2013] Support for JEXL2 Evaluator.
      </action>

    </release>

    <release version="1.0" date="In SVN branch"
     description="Latest unreleased code">

     <action dev="rahul" type="add" issue="SCXML-68" due-to="Tony Seebregts">
       [03-07-2008] Enable JavaScript as one of the pluggable ELs in SCXML
       documents.
     </action>

    </release>

    <release version="0.9" date="December 2008"
     description="Latest release">

     <action dev="rahul" type="fix">
       [11-21-2008] Added clirr plugin report, cleaned up some checkstyle
       errors.
     </action>

     <action dev="rahul" type="add" issue="SCXML-86">
       [11-21-2008] Support "initial" attribute of &lt;state&gt;.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-88">
       [11-21-2008] SCXMLSerializer does not serialize custom namespace
       declarations.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-88">
       [11-21-2008] SCXMLSerializer does not serialize custom namespace
       declarations.
     </action>

     <action dev="rahul" type="fix">
       [11-21-2008] Change "appLog" name to be derived from
       "SCXMLSemantics.class" rather than the arbitrary "scxml.app.log"
     </action>

     <action dev="rahul" type="fix" issue="SCXML-90">
       [11-21-2008] "event" attribute of &lt;send&gt; is not evaluated
     </action>

     <action dev="rahul" type="add">
       [11-19-2008] Support executable content in &lt;transition&gt;
       child of &lt;initial&gt;
     </action>

     <action dev="rahul" type="add" issue="SCXML-81">
       [11-19-2008] Support for &lt;onentry&gt; and &lt;onexit&gt; children
       for &lt;parallel&gt; states.
     </action>

     <action dev="rahul" type="add" issue="SCXML-82">
       [11-18-2008] Support for &lt;transition&gt; children for
       &lt;parallel&gt; states.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-89" due-to="Joel Truher">
       [11-14-2008] &lt;assign&gt; doesn't remove all existing children
       from location.
     </action>

     <action dev="rahul" type="add" issue="SCXML-80">
       [11-14-2008] SCXMLParser should throw an exception for parsing
       failures on bad URIs in &lt;state&gt;'s "src" attribute.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-87" due-to="Roger Hoover">
       [11-13-2008] Delayed events not passing payload.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-85">
       [11-13-2008] Added Softwaredemo to "Who is using it?"
     </action>

     <action dev="rahul" type="fix" issue="SCXML-84" due-to="Jakob Sachse">
       [10-03-2008] Added a tutorial about using Commons SCXML on
       Google Android.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-83" due-to="Ingmar Kliche">
       [08-01-2008] Improvements in &lt;send&gt; serialization.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-79">
       [07-30-2008] Stop rendering non-standard "parentid" attribute during
       serialization.
     </action>

     <action dev="rahul" type="fix">
       [07-28-2008] Update datamodel section of the guide to stress namespace
       awareness of document.
     </action>

     <action dev="rahul" type="fix">
       [07-28-2008] &lt;var&gt; and &lt;exit&gt; should be serialized in the
       Commons SCXML namespace.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-78" due-to="Daniel Schwager">
       [07-28-2008] SCXMLListeners will not processed in defined order.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-77" due-to="Edzard Hoefig">
       [07-28-2008] Correct semantics for &lt;param&gt; with only the "name"
       attribute specified.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-76" due-to="Ingmar Kliche">
       [07-28-2008] Serialization of expressions may produce invalid XML.
     </action>

     <action dev="rahul" type="add" issue="SCXML-75" due-to="Daniel Schwager">
       [07-11-2008] Make TriggerEvent class Serializable.
     </action>

     <action dev="rahul" type="add" issue="SCXML-74" due-to="Edzard Hoefig">
       [07-11-2008] &lt;data&gt; should support the "id" attribute.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-73" due-to="Elaine Wong">
       [06-17-2008] The "delay" attribute of the &lt;send&gt; element
       should be a value expression.
     </action>

     <action dev="rahul" type="add">
       [06-17-2008] Support the "initial" attribute of the &lt;scxml&gt;
       element, added in the 4th Working Draft.
     </action>

    </release>

    <release version="0.8" date="May 2008"
     description="Release">

     <action dev="rahul" type="add" issue="SCXML-64">
       [05-03-2008] Better error reporting for ignored or misplaced elements
       by parser (SCXMLParser class).
     </action>

     <action dev="rahul" type="add" issue="SCXML-62">
       [04-25-2008] Enhancement request for supporting fragment URLs in
       &lt;state&gt; element's src attribute.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-67" due-to="SeongSoo Park">
       [02-09-2008] Process &lt;parallel&gt; child of &lt;state&gt; correctly.
     </action>

     <action dev="rahul" type="fix" issue="SCXML-66">
       [01-26-2008] Improve first-hit performance for following transitions
       by working out the paths at parse-time.
     </action>

     <action dev="rahul" type="update">
       [01-03-2008] Clarify via Javadocs that the SCXMLParser assumes the
       input to be a well-formed and correct SCXML document.
     </action>

     <action dev="rahul" type="add" due-to="Ross Yakulis">
       [01-03-2008] Added tests for SCXML-64.
     </action>

     <action dev="rahul" type="add">
       [01-03-2008] Add the issues test package for tracking tests tied to
       the Commons issue tracker.
     </action>

     <action dev="rahul" type="update">
       [01-03-2008] Improve serialization of &lt;transition&gt; elements.
     </action>

     <action dev="rahul" type="add">
       [01-03-2008] Add assertPostTriggerState() methods to SCXMLTestHelper.
     </action>

     <action dev="rahul" type="update" due-to="Sebastian Bazley">
       [12-20-2007] Minor site updates: add a prominent download link, and
       update a few remaining Jakarta references.
     </action>

    </release>

    <release version="0.7" date="December 2007"
     description="Release">

     <action dev="rahul" type="add">
       [12-12-2007] Add experimental Maven2 pom.xml to source distro.
     </action>

     <action dev="rahul" type="update">
       [12-12-2007] Update JUnit dependency version to 3.8.2.
     </action>

     <action dev="rahul" type="update">
       [12-08-2007] AbstractStateMachine and SimpleSCXMLListener classes
       switched to the new SCXMLParser.
      </action>

      <action dev="rahul" type="update">
       [12-06-2007] Recommended version of Commons Logging has been upgraded
       to v1.1.1.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-53">
       [12-06-2007] Wild card event name handling on transitions made in
       line with WD.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-61">
       [12-04-2007] Clarify via class Javadoc interaction model between
       Invokers and parent executor.
      </action>

      <action dev="rahul" type="add" issue="SCXML-55">
       [12-04-2007] Add support for the &lt;event&gt; tag.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-58">
       [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.
      </action>

      <action dev="rahul" type="fix">
       [12-04-2007] Deprecate SCXMLDigester class in favor of the new
       SCXMLParser class. The new class supports newer Working Drafts and has
       better naming.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-60" due-to="Andy Bailey">
       [12-03-2007] Fix possible race condition in AsyncTrigger class.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-54" due-to="Mike Tillberg">
       [12-03-2007] Events from custom actions missing payload. Also fix
       test classes to safely create contexts.
      </action>

      <action dev="rahul" type="fix">
       [12-03-2007] Skip serialization tests if necessary directory cannot
       be created.
      </action>

      <action dev="rahul" type="add">
       [11-30-2007] Support nested invokes when using SimpleSCXMLInvoker
       class.
      </action>

      <action dev="niallp" type="add" due-to="Niall Pemberton">
       [11-16-2007] Update Maven 2 build to include source and binary
       assemblies and site resources.
      </action>

      <action dev="rahul" type="fix">
       [08-20-2007] Apply per region document order filter for transition
       conflict resolution. See SCXML-52 for part of discussion.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-49">
       [08-06-2007] SimpleSCXMLInvoker may miss transition to final state.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-52" due-to="Ingmar Kliche">
       [08-01-2007] Fix conflict resolution for conditionless stay transitions.
       class.
      </action>

      <action dev="rahul" type="fix">
       [07-30-2007] Various changes related to the Commons TLP move.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-51">
       [07-27-2007] Delete existing child nodes before adding new ones
       when using &lt;assign&gt; to supply new values to &lt;data&gt; nodes.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-48" due-to="Michael Heuer">
       [06-26-2007] Fixed subclassing behavior for AbstractStateMachine
       class.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-44">
       [06-15-2007] Better names for getter and setter of the boolean
       property State#isFinal. Previous names deprecated.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-46" due-to="Michael Heuer">
       [06-15-2007] Added a SCXMLListener abstract adapter class.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-41">
       [06-15-2007] Added information about failing expression to
       evaluation error messages.
      </action>

      <action dev="bayard" type="remove" due-to="Henri Yandell">
       [06-14-2007] Remove KEYS file, in favor of one file for all of Commons.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-45">
       [05-29-2007] Payload of events sent to current scxml session using
       &lt;send&gt; tag are now injected into engine. Commons SCXML adds
       the special <i>_eventdatamap</i> variable for storing payloads
       for derived events.
      </action>

      <action dev="rahul" type="update">
       [04-25-2007] Replace deprecated API usage, with current ones.
      </action>

      <action dev="rahul" type="update">
       [04-25-2007] The test package switched to using SCXMLParser class.
      </action>

      <action dev="rahul" type="update">
       [04-25-2007] Added support for &lt;final&gt; to SCXMLParser class.
      </action>

      <action dev="rahul" type="add">
       [04-25-2007] Add a Commons SCXML namespace to support implementation
       specific actions. Moved &lt;var&gt; and &lt;exit&gt; actions to
       this implementation specific namespace.
      </action>

      <action dev="rahul" type="add">
       [03-24-2007] New set of tests matching vocabulary in latest Working
       Draft, for testing the new SCXMLParser class.
      </action>

      <action dev="rahul" type="update">
       [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.
      </action>

      <action dev="rahul" type="add">
       [03-22-2007] Add new parser (org.apache.commons.scxml.io.SCXMLParser)
       to support latest WD and improve naming.
      </action>

      <action dev="rahul" type="add">
       [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.
      </action>

      <action dev="rahul" type="add">
       [03-12-2007] Added tests for conflict resolution based on document
       order and for multiple transition targets.
      </action>

      <action dev="rahul" type="fix">
       [03-12-2007] Deprecated various methods in Transition class that
       refer to a singular target.
      </action>

      <action dev="rahul" type="add">
       [03-12-2007] Implement ability to support multiple transition targets
       (space separated list of state IDs). IDs must no longer contain
       whitespace.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-30">
       [03-12-2007] Better handling of parent-child relationships (part 1).
      </action>

      <action dev="rahul" type="fix">
       [03-12-2007] Deprecated State#getTransitions() in favor of
       State#getTransitionsList().
      </action>

      <action dev="rahul" type="add">
       [03-09-2007] Implement document order priority for transitions.
      </action>

      <action dev="rahul" type="fix">
       [12-18-2006] SCXMLExecutor#logState() now uses debug level to reduce noise
       at console.
      </action>

    </release>

    <release version="0.6" date="December 2006"
     description="Release">

      <action dev="rahul" type="fix" issue="SCXML-16" due-to="Sitthichai Rernglertpricha">
       [12-12-2006] target and type attributes of &lt;send&gt; element
       are now evaluated as expressions.
      </action>

      <action dev="rahul" type="fix">
       [12-12-2006] Set tests to warn, but not fail, if the DOM L2
       implementation in use is not serializable.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-32">
       [12-07-2006] Update Commons Logging to version 1.1.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-32">
       [12-07-2006] Update Commons JEXL to version 1.1.
      </action>

      <action dev="rahul" type="add" issue="SCXML-33">
       [12-07-2006] Improved processing of namespace prefixes in
       deferred evaluation of XPath expressions.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-32">
       [12-06-2006] Update Commons Digester to version 1.8.
      </action>

      <action dev="rahul" type="add" issue="SCXML-31" due-to="Nestor Urquiza">
       [11-22-2006] Logging for &lt;var&gt; and &lt;assign&gt;.
      </action>

      <action dev="rahul" type="add">
       [11-08-2006] Add project DOAP file.
      </action>

      <action dev="rahul" type="add">
       [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).
      </action>

      <action dev="rahul" type="add">
       [11-04-2006] Add tests to ensure white box behavior of the
       &lt;state&gt; element's src attribute.
      </action>

      <action dev="rahul" type="fix">
       [10-23-2006] Up to date versions for the usecases blurbs
       for the website. Update image on site front page.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-29">
       [10-17-2006] Added serial version UIDs.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-21">
       [10-17-2006] New EventDispatcher implementation (SimpleScheduler)
       that provides the ability to deal with delayed events for the
       "scxml" &lt;send&gt; type.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-2">
       [10-11-2006] Some thread-safety improvements for
       SCXMLExecutor instances.
      </action>

      <action dev="rahul" type="fix">
       [10-11-2006] Update to new ASLv2 license headers for source files.
      </action>

      <action dev="rahul" type="add" issues="SCXML-20">
       [10-05-2006] The Commons SCXML object model as well as the
       SCXMLExecutor instances are now serializable.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-25">
       [10-02-2006] Deprecate ErrorReporter fields, add ErrorConstants
       class for default Commons SCXML semantics.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-23">
       [09-29-2006] Begin the deprecation process for custom digester
       rules in the io package.
      </action>

      <action dev="rahul" type="fix">
       [09-21-2006] SCXML elements have to be defined in the following
       namespace (case sensitive): http://www.w3.org/2005/07/scxml
      </action>

      <action dev="rahul" type="fix" issue="SCXML-14" due-to="Sitthichai Rernglertpricha">
       [08-07-2006] Allow the target of a transition to be omitted.
      </action>

      <action dev="rahul" type="fix">
       [07-28-2006] Updated website to reflect 0.5 release.
      </action>

    </release>

    <release version="0.5" date="July 2006"
     description="First release">

      <action dev="rahul" type="fix" issue="SCXML-13">
       [07-19-2006] SCXML doesn't compile using (Sun) JDK 1.5.
       actions.
      </action>

      <action dev="rahul" type="add" issue="SCXML-3">
       [07-19-2006] Add src attribute processing for assign tag.
      </action>

      <action dev="rahul" type="add">
       [06-19-2006] Added invoke, param and finalize processing. These
       SCXML elements were added in the January 2006 Working Draft.
      </action>

      <action dev="rahul" type="fix">
       [05-17-2006] Reflect use of JIRA as the issue tracker for
       Commons SCXML. Bugzilla should no longer be used.
      </action>

      <action dev="rahul" type="add">
       [05-17-2006] Added examples of shallow and deep history.
      </action>

      <action dev="rahul" type="fix" issue="SCXML-8">
       [05-17-2006] External document digester now processes custom
       actions.
      </action>

      <action dev="rahul" type="add">
       [05-04-2006] Added section on custom semantics to user guide.
      </action>

      <action dev="rahul" type="add" issue="SCXML-4">
       [05-04-2006] Added explicit Instructions on core-engine.html
       from user guide.
      </action>

      <action dev="rahul" type="add" issue="SCXML-10">
       [05-04-2006] Added datamodel explanation and examples to user
       guide.
      </action>

      <action dev="rahul" type="add">
       [05-04-2006] Added documentation blurb on common interaction
       patterns using the Commons SCXML library (the "glue" or "bridge"
       code).
      </action>

      <action dev="rahul" type="fix">
       [04-24-2006] Commons SCXML has graduated from Commons Sandbox,
       updated repository to reflect move to Commons Proper.
      </action>

      <action dev="rahul" type="add">
       [04-20-2006] Added documentation on "_eventdata" and method
       invocation in expression languages used.
      </action>

      <action dev="rahul" type="add">
       [04-20-2006] Allow SCXML documents using EL to define arbitrary EL
       functions by providing a FunctionMapper to the ELEvaluator.
      </action>

      <action dev="rahul" type="add" issue="SCXML-11">
       [04-20-2006] Provide access to SCXMLExecutor's root context.
      </action>

      <action dev="rahul" type="add">
       [04-03-2006] Added support for the wildcard (*) event.
      </action>

      <action dev="rahul" type="add">
       [04-03-2006] Added _eventdata support. The payload of a triggered
       event is available under the special variable named _eventdata.
      </action>

      <action dev="rahul" type="fix">
       [03-28-2006] Unnamed trigger events are now correctly processed
       (they do not match any event name).
      </action>

      <action dev="rahul" type="add">
       [03-23-2006] Initial cut at supporting the datamodel section from
       the January 06 Working Draft.
      </action>

      <action dev="rahul" type="add">
       [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".
      </action>

      <action dev="rahul" type="add">
       [03-03-2006] Add support for "target" attribute of "transition"
       element per the latest (Jan 06) WD.
      </action>

      <action dev="rahul" type="add" due-to="Wendy Smoak">
       [03-03-2006] Added a Maven2 POM.
      </action>

      <action dev="rahul" type="add" issue="SCXML-7">
       [03-01-2006] A new usecase for a stand-alone application
       modeling a stopwatch.
       <dueto name="Stephen Colebourne"/>
       <dueto name="Tim O'Brien"/>
      </action>

      <action dev="rahul" type="add">
       [02-28-2006] AbstractStateMachine class added that demonstrates
       one approach for providing the base functionality needed by
       standalone classes representing stateful entities, whose
       behaviors are defined via SCXML documents.
      </action>

      <action dev="rahul" type="add">
       [02-27-2006] Improve Commons SCXML website "guide". Added a
       section on SCXML documents, and another on custom actions.
      </action>

      <action dev="rahul" type="add">
       [02-25-2006] Added easier support for custom actions. Provide
       a "hello world" example using a custom action.
      </action>

      <action dev="rahul" type="fix">
       [02-25-2006] Refactor processing of actions (they now contain
       an "execute" method).
      </action>

      <action dev="rahul" type="add">
       [02-24-2006] Define ExternalContent interface to mark elements
       that may contain "body content" (in external namespaces), for
       example, the SCXML "send" element. 
      </action>

      <action dev="rahul" type="fix">
       [02-22-2006] Minor Javadoc fixes and additions.
      </action>

      <action dev="rahul" type="add">
       [02-09-2006] Basic test cases for SCXML document execution
       when using JEXL as the expression language.
      </action>

      <action dev="rahul" type="fix" due-to="sungchan">
       [02-09-2006] JexlEvaluator was still assuming a flat context
       (which was changed on 02-05-2006, see change item below).
      </action>

      <action dev="rahul" type="add" issue="SCXML-1" due-to="Peter Costa">
       [02-05-2006] Numerous JUnit test cases added. Start publishing
       cobertura report.
      </action>

      <action dev="rahul" type="update">
       [02-05-2006] Contexts are now created per State, but only as and
       when needed. The
       <a href="http://svn.apache.org/viewcvs?rev=374981&amp;view=rev">
       commit message for r374981</a> has the details.
      </action>

      <action dev="rahul" type="update" issue="SCXML-6" due-to="Tim O'Brien">
       [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):
        <ol>
          <li>A "SCXML" object no longer contains a root "Context"</li>
          <li>A "State" no longer contains a "Context"</li>
          <li>A "Transition" no longer contains a list of "SCXMLListeners"
              attached</li>
          <li>A "History" no longer contains the last known configuration.
              </li>
        </ol>
        The advantage of this decoupling is that the SCXML document can be
        parsed once and reused across multiple execution instances,
        concurrently or otherwise.
      </action>

      <action dev="rahul" type="update">
       [01-22-2006] Package reorganization. Mostly out of discussions on
       the dev list, three new packages were introduced:
        <ol>
          <li>A "test" package for the command line testing utility
              classes</li>
          <li>An "io" package for classes related to reading and writing
              SCXML documents</li>
          <li>A "servlet" environment package for the classes that
              depend on the servlet API for Commons SCXML usecases in
              servlet containers.</li>
        </ol>
      </action>

      <action dev="rahul" type="update">
       [01-11-2006] Various website and documentation improvements.
      </action>

      <action dev="rahul" type="update">
       [01-08-2006] Improve dependencies webpage by providing URLs for each.
       Improve navigation by providing "quick links".
      </action>

      <action dev="rahul" type="add">
       [01-08-2006] Added JEXL support for SCXML documents.
      </action>

      <action dev="rahul" type="update">
       [01-07-2006] SCXML serialization bits available in a utility class.
      </action>

      <action dev="rahul" type="update">
       [12-21-2005] SCXML digester instances are now available for further
       customization of the default digester ruleset.
      </action>

      <action dev="rahul" type="update">
       [12-21-2005] The static digest() methods of the SCXMLDigester class
       now throw the same exceptions as the underlying ones from
       Digester#parse().
      </action>

      <action dev="rahul" type="add">
       [12-10-2005] Make digester namespace aware, and capture arbitrary namespace
       children of SCXML &lt;send&gt; element.
      </action>

      <action dev="rahul" type="update">
       [11-17-2005] Site overhaul according to recent discussions on the
       commons-dev mailing list.
      </action>

      <action dev="rahul" type="update">
       [10-18-2005] Decouple SCXML engine from the SCXML execution semantics;
       make SCXML semantics pluggable.
      </action>

      <action dev="rahul" type="add">
       [10-18-2005] Added UML state machine diagrams to the usecases section
       of the website.
      </action>

      <action dev="rahul" type="add">
       [10-14-2005] Added documentation on usecases to website:
       <ol>
        <li>Usecase 1: To configure instances of the RDC group container.</li>
        <li>Usecase 2: To describe Shale dialogs.</li>
       </ol>
      </action>

      <action dev="rahul" type="add">
       [10-14-2005] Added API notes to website:
       <ol>
        <li>SCXML digester</li>
        <li>SCXML engine</li>
        <li>Firing events on an SCXML engine</li>
        <li>Standalone testing</li>
        <li>Fun with EL</li>
       </ol>       
      </action>

      <action dev="rahul" type="add">
       [10-14-2005] Updated dependency information to indicate purpose of
       dependency (core, test, usecases etc.).
      </action>

      <action dev="rahul" type="add">
       [10-14-2005] Added Commons look and feel (navigation bar) to website.
      </action>
 
      <action dev="rahul" type="add">
       [10-10-2005] Added second usecase for Commons SCXML (within ASF projects).
       Demonstrated the use of SCXML documents for describing Shale dialogs.
      </action>

      <action dev="rahul" type="add">
       [10-09-2005] Add a faces package for JSF-based environments (env.faces)
      </action>

      <action dev="rahul" type="update">
       [10-09-2005] Updated ant build file to include MyFaces dependency
       (usecases only).
      </action>

      <action dev="rahul" type="add">
       [10-08-2005] Out of the box "simple" interface implementations.
       <ol>
        <li>Added simple loggers that implement ErrorHandler, ErrorReporter
        and SCXMLListener.</li>
        <li>Added a SimpleContext that wraps a variables (name to value) Map.</li>
       </ol>
      </action>

      <action dev="rahul" type="fix">
       [10-08-2005] VariableResolver#resolveVariable() should return null if variable
       is not found instead of throwing an exception (in ELEvaluator.java)
      </action>

      <action dev="rahul" type="update">
        [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.
      </action>

      <action dev="rahul" type="update">
        [09-29-2005] Enhanced the Standalone testing functionality to enable:
        <ol>
          <li>Value change events on the current Context.</li>
          <li>Dummy events to re-evaluate conditionals on event-less transitions.</li>
        </ol>
      </action>

      <action dev="rahul" type="update" due-to="Jaroslav Gergic">
        [09-15-2005] Now handling outgoing transitions from a Parallel 
        (Section 3.4 SCXML WD).
      </action>

      <action dev="rahul" type="fix">
        [09-15-2005] Minor Javadoc tweaks.
      </action>

      <action dev="rahul" type="update">
        [09-15-2005] "Microwave" test samples reset timer on leaving "cooking"
        state so state machines can be re-run many times (without a "reset")
      </action>

      <action dev="rahul" type="update">
        [09-08-2005] Updated Commons SCXML logo.
      </action>

      <action dev="rahul" type="update">
        [08-27-2005] Use a customized set of checkstyle rules. These are the Sun checks
        with three changes as discussed on the dev list:
        <ol>
          <li>Use a regexp header check for ASL</li>
          <li>Disable 'hide a field' check (lot of noise from setters)</li>
          <li>Disable 'method design for extension' check</li>
        </ol>
      </action>

      <action dev="rahul" type="fix">
        [08-27-2005] Six minor code changes based on FindBugs reports.
      </action>

      <action dev="rahul" type="update">
        [08-25-2005] Switch to new ant build file that will work better for the
        Commons nightlies.
      </action>

      <action dev="rahul" type="fix">
        [08-24-2005] RootContext (used in the JSP environment) should override 
        ELContext#has(String) method.
      </action>

      <action dev="rahul" type="update">
        [08-24-2005] Enhanced couple of samples used by the test cases.
      </action>

      <action dev="rahul" type="add">
        [08-23-2005] Added JUnit Test Framework.
      </action>

      <action dev="rahul" type="fix">
        [08-23-2005] Upgraded Digester version in project dependencies to 1.7.
      </action>

      <action dev="rahul" type="add">
        [08-23-2005] Added BeanUtils 1.7.0 dependency as needed by Digester.
      </action>

      <action dev="rahul" type="fix">
        [08-20-2005] Corrected year of inception in License.
      </action>

      <action dev="rahul" type="fix">
        [08-20-2005] Corrected some 1500+ checkstyle errors.
      </action>

      <action dev="rahul" type="add">
        [08-20-2005] This changes document added.
      </action>

      <action dev="rahul" type="add">
        [08-17-2005] Initial SCXML codebase copied from the RDC Taglib codebase
        (part of Jakarta Taglibs Proper).
      </action>

      <action dev="rahul" type="add">
        [08-17-2005] Initial build artifacts, STATUS and PROPOSAL documents.
      </action>

    </release>

  </body>

</document>
