<?xml version="1.0"?>
<!--
   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.
-->

<!--
This file is used by the maven-changes-plugin to generate the release notes.
Useful ways of finding items to add to this file are:

1.  Add items when you fix a bug or add a feature (this makes the 
release process easy :-).

2.  Do a Jira search for tickets closed since the previous release.

3.  Use the report generated by the maven-changelog-plugin to see all
SVN commits.  Set the project.properties' maven.changelog.range 
property to the number of days since the last release.


The <action> type attribute can be add,update,fix,remove.
-->

<document>
  <properties>
    <title>Release Notes</title>
  </properties>
  <body>

    <release version="1.2" date="2008-05-24" description="OSGi enabled / minor bug fixes">
      <action dev="niallp" type="add">
         Chain 1.2 is the first OSGi-enabled release.
      </action>
      <action dev="niallp" type="add" issue="CHAIN-36">
         Add Example webapp for Servlet Mapper Commands
      </action>
      <action dev="rahul" type="update">
         Upgrade Commons Logging dependency to 1.0.4
      </action>
      <action dev="niallp" type="update" issue="CHAIN-32" due-to="Joshua Graham">
         Improve instantiation performance of ContextBase subclasses.
      </action>
      <action dev="niallp" type="update" issue="CHAIN-4" due-to="Joe Germuska">
         Update servlet implementation classes to be aware of CatalogFactory
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-43" due-to="Ales Dolecek">
         ChainListener URL translation does not work as expected.
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-42" due-to="Isaac Shabtay">
         Various scope mappers use incorrect equalization.
      </action>
      <action dev="skitching" type="fix" issue="CHAIN-41" due-to="Isaac Shabtay">
         Ant build fails due to usage of old Digester.
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-35">
         PathInfoMapper command can not obtain the current catalog instance.
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-34" due-to="Mark Vedder">
         Unbalanced tags in JavaDoc for ContextBase class.
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-33">
         Upgrade to Commons Digester 1.8 to fix bug loading webapp resources.
      </action>
      <action dev="niallp" type="fix">
         Corrections to the project.xml - mark servlet, portlet and myfaces dependencies
         as "optional" to prevent dependency problems for maven2 users.
      </action>
    </release>

    <release version="1.1" date="2006-06-14">
      <action dev="niallp" type="fix" issue="CHAIN-30">
         ServletSessionScopeMap always forces a Session to be Created.
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-31">
         Portlet Map implementations' entry Set should contain Map.Entry elements.
      </action>
      <action dev="niallp" type="add" issue="CHAIN-28">
        Provide a Map of Cookies in the WebContext.
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-29">
         Remove Static Log instances - see
         http://wiki.apache.org/commons/Logging/StaticLog
      </action>
      <action dev="niallp" type="fix" issue="CHAIN-11">
         Modify DispatchCommand so that it will compile using JDK 1.3 (remove JDK 1.4 method).
      </action>
      <action dev="germuska" type="fix">
         DispatchCommand - fix bug in handling InvocationTargetException.
      </action>
      <action dev="germuska" type="fix" issue="CHAIN-9" due-to="Wendy Smoak">
         Maven build updates.
      </action>
      <action dev="germuska" type="update">
         CatalogBase - add constructor which takes an already built map of commands, for easier use in dependency-injection environments.
      </action>
      <action dev="germuska" type="fix" issue="CHAIN-25">
         DispatchCommand should unwrap InvocationTargetException.
      </action>
      <action dev="germuska" type="update">
         Expose catalogFactory so that subclasses can get at it.
      </action>
      <action dev="germuska" type="update" issue="CHAIN-3">
         Decouple CatalogFactory lookup from LookupAction.
      </action>
      <action dev="craigmcc" type="fix" issue="CHAIN-12">
        <dueto name="Jeff Ramsdale"/>
        <dueto name="Dennis Lundberg"/>
         Make ContextBase live up to the Serializable contract that it inherits by virtue of extending HashMap.
      </action>
      <action dev="martinc" type="update">
         ChainResources - factor out the comma-delimited parsing into a separate method, fix the whitespace-skipping bugs in it.
      </action>
      <action dev="germuska" type="update">
         Add support for using LookupCommand in a way which does not pass through the result from the looked up command.
      </action>
      <action dev="jmitchell" type="add" issue="CHAIN-14" due-to="Sean Schofield">
         Add new DispatchLookupCommand.
      </action>
      <action dev="jmitchell" type="add" issue="CHAIN-26" due-to="Sean Schofield">
         Add new test for LookupCommand.
      </action>
      <action dev="germuska" type="add" issue="CHAIN-20">
         Add new  DispatchCommand.
      </action>
      <action dev="jmitchell" type="fix" issue="CHAIN-6">
        <dueto name="William Slough"/>
        <dueto name="Sean Schofield"/>
         CopyCommand does not work unless setValue is called.
      </action>
      <action dev="craigmcc" type="add" issue="CHAIN-19" due-to="Joe Germuska">
         Provide a  mechanism for encoding catalog and command in a single string
      </action>
      <action dev="martinc" type="fix" issue="CHAIN-1" due-to="Sergio Moretto">
         Code fragment from 'cookbook' is incorrect.
      </action>
    </release>

    <release version="1.0" date="2004-12-09" description="Initial Release">
      <action dev="mardon" type="fix" issue="CHAIN-5" due-to="Manfred Wolff">
         Make CatalogBase.getCommand() thread safe.
      </action>
      <action dev="craigmcc" type="update" issue="CHAIN-2" due-to="Sean Schofield">
         LookupCommand should use new CatalogFactory.
      </action>
      <action dev="craigmcc" type="fix" issue="CHAIN-10" due-to="Sean Schofield">
         Sample catalog.xml missing &lt;catalog&gt; tag.
      </action>
      <action dev="craigmcc" type="add" issue="CHAIN-7" due-to="Sean Schofield">
         Add missing new class ConfigCatalogRule.
      </action>
      <action dev="craigmcc" type="update" issue="CHAIN-21">
         Make the impl. class of chainbase configurable.
      </action>
      <action dev="craigmcc" type="fix" issue="CHAIN-23" due-to="Sean Schofield">
         Support for new CatalogFactory.
      </action>
      <action dev="martinc" type="fix" issue="CHAIN-8" due-to="Otis Gospodnetic">
         tabs to spaces, Log name fix.
      </action>
      <action dev="husted" type="fix" issue="CHAIN-15" due-to="Joe Germuska">
         build.properties.sample should add commons-logging.
      </action>
      <action dev="husted" type="update" issue="CHAIN-22" due-to="Matthew Sgarlata">
         Added JavaDoc and a toString() method to CatalogBase.
      </action>
    </release>
    
  </body>
</document>
