<?xml version="1.0" encoding="ISO-8859-1"?>
<document url="http://castor.org/release-notes.xml">
  <body>
    <title>Release notes</title>
    <section title="Releases">

        <p>For all releases prior to 0.9.7, the release notes can be found <a href="release-notes-0.9.7pre.html">here</a>.</p>
        <p>For all releases prior to 0.9.6, the release notes can be found <a href="changelog.html">here</a>.</p>

<!--
                <bug id="">
                    <description></description>
                    <contributor>
                        <name></name>
                        <email></email>
                    </contributor>
                    <submitter>
                        <name></name>
                        <email></email>
                    </submitter>
                    <reporter></reporter>
                    <type></type>
                    <module></module>
                    <date></date>
                </bug>
-->

        <release version="1.0M4">
            <description>4th milestone release for Castor 1.0</description>
            <date>March 23, 2006</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>Requirements</h2>

                <h3>Introduced <font color="red">Java 1.4</font> as a dependecy</h3>

                <p>This is a reminder that we have started to add some features that more or less depend
                   on features made available with Java 1.4 (only), such as the JDBC 3.0 API enhancements. As
                   such, we have made Java 1.4 a key requirement for the upcoming Castor 1.0 release.</p>

                <h2>Additions</h2>

                <h3>Updated/Added to XML Documentation</h3>

                <p>Two new XML how-tos have been added to the XML HOW-TOs page,
                   one on fetching XML dependencies (DTDs and schemas) from JAR
                   files rather than network locations, and one on using identities
                   and references in XML.  The XML Mapping documentation was also
                   updated so that the DTD public ID used in examples matches one
                   in Castor's DTDResolver (this aids in fetching the DTD from the
                   Castor JAR rather than the web address).</p>

                <h3>Added cache implementation for high volunm and high performance</h3>

                <p>The cache types <b>fifo</b> and <b>lru</b> are based on a set of articles in the
                   O'Reilly Network by William Grosso, to implement a simplified and 1.3-compatible
                   implementation of a Hashbelt algorithm.</p>

                <p>Hashbelts are simple, in principle. Instead of walking all objects and finding out
                   when they're supposed to expire, use a "conveyor belt" approach. At any particular
                   point in time, objects going into the cache go into the front of the conveyor belt.
                   After a certain amount of time or when the size limit of a container has been
                   reached, move the conveyor belt - put a new, empty container at the front of the
                   conveyor belt to catch new objects, and the one that drops off of the end of the
                   conveyor belt is, by definition, ready for garbage collection.</p>

                <p>As seen in his system, you can use a set of pluggable strategies to implement the
                   actual hashbelt bits. A container strategy allows you to change out the
                   implementation of the container itself - from simple hashtable-based
                   implementations, up through more complex uses of soft referenced or hashset-based
                   implementations, depending on what you need and what you want it to be used for.
                   A pluggable "expire behavior" handler allows you to determine what action is taken
                   on something which drops off of the bottom of the conveyor belt.</p>

                <p>As of release 1.0 Castor knows of 11 cache types. To use this cache types, their
                   factories need to be configured in castor.properties file. If you use a custom
                   castor.properties file you need to add the new cache factories to be able to use
                   the new cache types.</p>

                <code>
#
# Cache implementations
#
org.castor.cache.Factories=\
  org.castor.cache.simple.NoCacheFactory,\
  org.castor.cache.simple.TimeLimitedFactory,\
  org.castor.cache.simple.CountLimitedFactory,\
  org.castor.cache.simple.UnlimitedFactory,\
  org.castor.cache.distributed.FKCacheFactory,\
  org.castor.cache.distributed.JcsCacheFactory,\
  org.castor.cache.distributed.JCacheFactory,\
  org.castor.cache.distributed.CoherenceCacheFactory,\
  org.castor.cache.distributed.OsCacheFactory,\
  org.castor.cache.hashbelt.FIFOHashbeltFactory,\
  org.castor.cache.hashbelt.LRUHashbeltFactory
                </code>

                <p>The DTD declaration to configure caching in Castor mapping is as follows:
                   <code-panel><![CDATA[
<!ELEMENT cache-type  ( param* )>
<!ATTLIST cache-type
    type           ( none | count-limited | time-limited | unlimited |
                     coherence | fkcache | jcache | jcs | oscache |
                     fifo | lru ) "count-limited"
    debug          (true|false) "false"
    capacity       NMTOKEN  #IMPLIED>

<!ELEMENT param EMPTY>
<!ATTLIST param
          name   NMTOKEN  #REQUIRED
          value  NMTOKEN  #REQUIRED>]]></code-panel></p>

                <p>In difference to all other cache types the <b>fifo</b> and <b>lru</b> cache
                   types offer various configuration options. Both of them have 6 parameters to
                   configure their behaviour.</p>

                <ctable>
                    <cheader>
                        <th align="left">parameter</th>
                        <th align="left">description</th>
                    </cheader>
                    <crow>
                        <td>containers</td>
                        <td>The number of containers in the conveyor belt. For example: If a box
                            will drop off of the conveyor belt every 30 seconds, and you want a cache
                            that lasts for 5 minutes, you want 5 / 30 = 6 containers on the belt. Every
                            30 seconds, another, clean container goes on the front of the conveyor belt,
                            and everything in the last belt gets discarded. If not specified 10 containers
                            are used by default.
                            <br/>
                            For systems with fine granularity, you are free to use a large number of
                            containers; but the system is most efficient when the user decides on a
                            "sweet spot" determining both the number of containers to be managed on the
                            whole and the optimal number of buckets in those containers for managing. This
                            is ultimately a performance/accuracy tradeoff with the actual discard-from-cache
                            time being further from the mark as the rotation time goes up. Also the number
                            of objects discarded at once when capacity limit is reached depends upon the
                            number of containers.
                        </td>
                    </crow>
                    <crow>
                        <td>capacity</td>
                        <td>Maximum capacity of the whole cache. If there are, for example, ten
                            containers on the belt and the capacity has been set to 1000, each container
                            will hold a maximum of 1000/10 objects. Therefore if the capacity limit is
                            reached and the last container gets droped from the belt there are up to 100
                            objects discarted at once. By default the capacity is set to 0 which causes
                            capacity limit to be ignored so the cache can hold an undefined number of
                            objects.
                        </td>
                    </crow>
                    <crow>
                        <td>ttl</td>
                        <td>The maximum time an object lifes in cache. If the are, for example, ten
                            containers and ttl is set to 300 seconds (5 minutes), a new container will be
                            put in front of the belt every 300/10 = 30 seconds while another is dropped at
                            the end at the same time. Due to the granularity of 30 seconds, everything just
                            until 5 minutes 30 seconds will also end up in this box. The default value for
                            ttl is 60 seconds. If ttl is set to 0 which means that objects life in cache
                            for unlimited time and may only discarded by a capacity limit.
                        </td>
                    </crow>
                    <crow>
                        <td>monitor</td>
                        <td>The monitor intervall in minutes when hashbelt cache rports the current
                            number of containers used and objects cached. If set to 0 (default) monitoring
                            is disabled.
                        </td>
                    </crow>
                    <crow>
                        <td>container-class</td>
                        <td>The implementation of <b>org.castor.cache.hashbelt.container.Container</b>
                            interface to be used for all containers of the cache. Castor provides the following
                            3 implementations of the Container interface.
                            <ul>
                                <li>org.castor.cache.hashbelt.container.FastIteratingContainer</li>
                                <li>org.castor.cache.hashbelt.container.MapContainer</li>
                                <li>org.castor.cache.hashbelt.container.WeakReferenceContainer</li>
                            </ul>
                            If not specified the MapContainer will be used as default.
                        </td>
                    </crow>
                    <crow>
                        <td>reaper-class</td>
                        <td>Specific reapers yield different behaviors. The GC reaper, the default,
                            just dumps the contents to the garbage collector. However, custom
                            implementations may want to actually do something when a bucket drops off the
                            end; see the javadocs on other available reapers to find a reaper strategy
                            that meets your behavior requirements. Apart of the default
                            <b>org.castor.cache.hashbelt.reaper.NullReaper</b> we provide 3 abstract
                            implementations of <b>org.castor.cahe.hashbelt.reaper.Reaper</b> interface:
                            <ul>
                                <li>org.castor.cache.hashbelt.reaper.NotifyingReaper</li>
                                <li>org.castor.cache.hashbelt.reaper.RefreshingReaper</li>
                                <li>org.castor.cache.hashbelt.reaper.ReinsertingReaper</li>
                            </ul>
                            to be extended by your custom implementation.
                        </td>
                    </crow>
                </ctable>

                <p>A <b>fifo</b> cache with default values explained above is specified by:
                   <code-panel><![CDATA[
<cache-type type="fifo"/>]]></code-panel></p>

                <p>A <b>lru</b> cache with capacity=300 and ttl=300 is defined by:
                   <code-panel><![CDATA[
<cache-type type="lru" capacity="300"/>]]></code-panel>
                   or better by:
                   <code-panel><![CDATA[
<cache-type type="lru"/>
    <param name="capacity" value="300"/>
    <param name="ttl" value="300"/>
</cache-type>]]></code-panel></p>

                <p>An example of a customized configuration of a <b>fifo</b> cache is:
                   <code-panel><![CDATA[
<cache-type type="fifo"/>
    <param name="container" value="10"/>
    <param name="capacity" value="1000"/>
    <param name="ttl" value="600"/>
    <param name="monitor" value="5"/>
    <param name="container-class" value="org.castor.cache.hashbelt.container.WeakReferenceContainer"/>
    <param name="reaper-class" value="org.castor.cache.hashbelt.reaper.NullReaper"/>
</cache-type>]]></code-panel></p>

                <h2>Code cleanup</h2>

                <p>We removed following classes and methods that had been deprecated for
                   a while now. </p>

                <ctable>
                    <cheader>
                        <th align="left">removed</th>
                        <th align="left">replacement</th>
                    </cheader>
                    <crow>
                        <td>Throwable CastorException.getException()</td>
                        <td>Throwable CastorException.getClause()</td>
                    </crow>
                    <crow>
                        <td>Object Database.load(Class, Object, short)</td>
                        <td>Object Database.load(Class, Object, AccessMode)</td>
                    </crow>
                    <crow>
                        <td>void JDOManager.setConfiguration(InputSource)</td>
                        <td>no replacement</td>
                    </crow>
                    <crow>
                        <td>QueryResults Query.execute(short)</td>
                        <td>QueryResults Query.execute(AccessMode)</td>
                    </crow>
                    <crow>
                        <td>QueryResults Query.execute(short, boolean)</td>
                        <td>QueryResults Query.execute(AccessMode, boolean)</td>
                    </crow>
                    <crow>
                        <td>org.exolab.castor.jdo.Utils</td>
                        <td>org.castor.jdo.util.JDOUtils</td>
                    </crow>
                    <crow>
                        <td>org.exolab.castor.util.JdoConfFactory</td>
                        <td>org.castor.jdo.util.JDOConfFactory</td>
                    </crow>
                </ctable>
            </summary>
            <bugs>
                <bug id="1368" tool="jira">
                    <description>
                        Extract creation and execution of SQL satements from SQLEngine.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060322</date>
                </bug>
                <bug id="1369" tool="jira">
                    <description>
                        Fixed NPE in case of extension of union.
                    </description>
                    <contributor>
                        <name>Stoil Valchkov</name>
                        <email>svalchkov@gmail.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Stoil Valchkov</name>
                        <email>svalchkov@gmail.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060323</date>
                </bug>
                <bug id="824" tool="jira">
                    <description>
                        Improved exception handling in UnmarshallHandler
                    </description>
                    <contributor>
                        <name>Benoit Maisonny</name>
                        <email>benoit@synclude.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Benoit Maisonny</name>
                        <email>benoit@synclude.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060322</date>
                </bug>
                <bug id="1281" tool="jira">
                    <description>
                        Introduced new org.castor.util.Configuration.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20060321</date>
                </bug>
                <bug id="1356" tool="jira">
                    <description>
                        Fixed false alarm log message at DatabaseImpl.finalize.
                    </description>
                    <contributor>
                        <name>Bruce Snyder</name>
                        <email>bruce DOT snyder AT gmail DOT com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Bruce Snyder</name>
                        <email>bruce DOT snyder AT gmail DOT com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060316</date>
                </bug>
                <bug id="1363" tool="jira">
                    <description>
                        Removed deprecated classes and methods.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20060316</date>
                </bug>
                <bug id="1364" tool="jira">
                    <description>
                        Fixed wrong generation of 'setFixed(String)'-method for XSNormalizeStrings.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Thomas Lehmann</name>
                        <email>t.lehmann@gamnet.de</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060316</date>
                </bug>
                <bug id="1360" tool="jira">
                    <description>
                        Fixed problem with missing class file in XML jar.
                    </description>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Uwe Langbecker</name>
                        <email>Uwe.Langbecker@gl-group.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060314</date>
                </bug>
                <bug id="867" tool="jira">
                    <description>
                        Added cache implementation for large cache sizes.
                    </description>
                    <contributor>
                        <name>Gregory Block</name>
                        <email>gblock@ctoforaday.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Gregory Block</name>
                        <email>gblock@ctoforaday.com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060315</date>
                </bug>
                <bug id="1345" tool="jira">
                    <description>
                        Refactored redundant code in *DatabaseImpl classes
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060315</date>
                </bug>
                <bug id="1089" tool="jira">
                    <description>
                        Revised SQL statement used by IdentityKeyGenerator for IBM DB2.
                    </description>
                    <contributor>
                        <name>Tim Telcik</name>
                        <email>ttelcik@hbf.com.au</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Tim Telcik</name>
                        <email>ttelcik@hbf.com.au</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060308</date>
                </bug>
                <bug id="1345" tool="jira">
                    <description>
                        Refactored DatabaseImpl into Local/GlobaldatabaseImpl.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060310</date>
                </bug>
                <bug id="1354" tool="jira">
                    <description>
                        Add HOW-TO on using identities and references in XML
                    </description>
                    <contributor>
                        <name>Stephen Bash</name>
                        <email>scbash@gmail.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Stephen Bash</name>
                        <email>scbash@gmail.com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>XML</module>
                    <date>20060314</date>
                </bug>
                <bug id="1353" tool="jira">
                    <description>
                        Fixed incorrect DOCTYPE references in various XML Mapping docs.
                    </description>
                    <contributor>
                        <name>Stephen Bash</name>
                        <email>scbash@gmail.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Stephen Bash</name>
                        <email>scbash@gmail.com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>XML</module>
                    <date>20060311</date>
                </bug>
                <bug id="1352" tool="jira">
                    <description>
                        Add HOW-TO on how to fetch DTDs from JAR file
                    </description>
                    <contributor>
                        <name>Stephen Bash</name>
                        <email>scbash@gmail.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Stephen Bash</name>
                        <email>scbash@gmail.com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060311</date>
                </bug>
                <bug id="1350" tool="jira">
                    <description>
                        Added UTF test of IdentityMap.entrySet.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060311</date>
                </bug>
                <bug id="1347" tool="jira">
                    <description>
                        Fixed issue with XMLDescriptor generating wrong method name
                        'getElementDefinition' instead of 'isElementDefinition'.
                    </description>
                    <contributor>
                        <name>Adam Kramer</name>
                        <email>adam@monkey.org</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Adam Kramer</name>
                        <email>adam@monkey.org</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060310</date>
                </bug>
            </bugs>
        </release>
        <release version="1.0M3">
            <description>3rd milestone release for Castor 1.0</description>
            <date>March 07, 2006</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>Requirements</h2>

                <h3>Introduced <font color="red">Java 1.4</font> as a dependecy</h3>

                <p>As we have started to add some features that more or less depend on features made
                   available with Java 1.4 (only), such as the JDBC 3.0 API enhancements, we have
                   made Java 1.4 a key requiremnt for the upcoming Castor 1.0 release.</p>

                <p>This decision is a result of a discussion on the mailing lists a couple of months
                   ago, where nobody was voicing any objections.</p>

                <h2>Additions</h2>

                <h3>Added support for OSCache</h3>

                <p>By specifing
                   <code-panel><![CDATA[
<cache-type type="oscache"/>]]></code-panel>
                   at class mapping you can now use OSCache with Castor JDO.</p>

                <h3>Added 'abstract/concrete' annotation to XMLDescriptor</h3>

                <p>With this addition, it is now possibel to query whether a particular XML element (represented
                   by an XMLClassDesscriptor internally) is <i>abstract</i> or <i>concrete</i>, that is (in the
                   context of source generation) a result of a &lt;complexType&gt; definition or an
                   &lt;element&gt; declaration. This is particularly relevant for tool providers who need to
                   integrate with Castor XML, and as a result of this addition can now use the new
                   <tt>isElementDefinition()</tt> method to query an artefact's state.</p>

                <h3>New XML HOW-TOs added</h3>

                <p>Added XML HOW-TOs for mapping collections and maps.</p>

                <h3>Added new SAX2EventProducer interface</h3>

                <p>Added new <api>org.exolab.castor.xml.SAX2EventProducer</api> interface to allow passing
                   SAX 2 events to Castor XML, deprecating the existing
                   <api>org.exolab.castor.xml.EventProducer</api> interface at the same time. At the same time,
                   a new <api class="org.exolab.castor.xml.Unmarshaller">unmarshal(SAX2EventProducer)</api>
                    method has been added to <api>org.exolab.castor.xml.Unmarshaller</api>, deprecating
                    the existing <api class="org.exolab.castor.xml.Unmarshaller">unmarshal(EventProducer)</api>
                   method at the same time.</p>

                <h3>Added support for postgreSQL to identity key generator</h3>

                <p>Added support for the postgreSQL column type 'SERIAL' to the
                   identity key generator. With this change, it's now possible to use
                   the identity key generator with postgreSQL on columns with type
                   'SERIAL'. Castor internally will issue a call to</p>

                <code-panel>
   SELECT currval('&lt;table_name&gt;_id_seq')
                </code-panel>

                <p>to automatically retrieve the value assigned due to 'SERIAL' column
                   during the insert operation.</p>

                <h3>Added fully self-contained Castor JDO sample application</h3>

                <p>Added new ZIP archive to distribution that contains a fully self-contained Castor JDO
                   sample applicationthat runs against an embedded Apache Derby database.</p>

                <p>Simply download the the archive, unpack it, and in the target directory created, execute
                   'java -jar castor-1.0M2-examples.jar' to have the test executed. This will (magically)
                   create a Derby database (on-the-fly) and use it to execute the Castor JDO code against it.</p>

                <h3>Added additional syntax for specifying identity columns</h3>

                <p>In addition to the current way of specifying the identity column(s) for a given
                   class, it is now possible to declare a field to be part of the identity
                   as shown below:</p>

                <code-panel>
  &lt;class name="ctf.jdo.tc1x.Parent"&gt;
    &lt;description&gt;Entite one&lt;/description&gt;
    &lt;map-to table="tc1x_entity1" xml="entity1" /&gt;
    &lt;field name="id" type="integer" identity="true"&gt;
      &lt;sql name="id" type="integer"/&gt;
    &lt;/field&gt;
    &lt;field name="name" type="string"&gt;
      &lt;sql name="name" type="char" /&gt;
    &lt;/field&gt;
  &lt;/class>
                </code-panel>

                <h3>Added collection type 'iterator' (java.util.Iterator) to Castor JDO</h3>

                <p>It is now possible to define a one-to-many relation with a collection
                   type of 'iterator'. This allows the access of custom collection classes
                   that are not supported through the standard collection types through
                   Castor JDO.</p>

                <code-panel>
   &lt;field name="children" type="some.domain.custom.Class" collection="iterator"&gt;
      &lt;sql ... /&gt;
   &lt;/field&gt;
                </code-panel>

                <h3>Added collection type 'enumerate' (java.util.Enumeration) to Castor JDO</h3>

                <p>It is now possible to define a one-to-many relation with a collection
                   type of 'enumerate'.</p>

                <code-panel>
   &lt;field name="children" type="some.domain.custom.Class" collection="enumerate"&gt;
      &lt;sql ... /&gt;
   &lt;/field&gt;
                </code-panel>

                <h3>Added WeblogicXMLSerializerFactory</h3>

                <p>To use the Xerces implementation delivered with Weblogic 7 and 8 you
                   have to change castor.properties file to contain the following entry:</p>

                <code>
# Defines the (default) XML serializer factory to use by Castor,
# which must implement org.exolab.castor.xml.SerializerFactory;
# default is org.exolab.castor.xml.XercesXMLSerializerFactory
org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.wls8.WeblogicXercesXMLSerializerFactory
                </code>
            </summary>
            <bugs>
                <bug id="1330" tool="jira">
                    <description>
                        Fixed problem with prioritizing delete operations.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Raúl Sanz de Acedo Pérez</name>
                        <email>rsanz@cein.es</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060307</date>
                </bug>
                <bug id="1341" tool="jira">
                    <description>
                        Fixed issue with bad dates being persisted in Oracle 9.2.
                    </description>
                    <contributor>
                        <name>August Detlefsen</name>
                        <email>augustd@codemagi.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>August Detlefsen</name>
                        <email>augustd@codemagi.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060306</date>
                </bug>
                <bug id="1186" tool="jira">
                    <description>
                        Added support for OSCache.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060228</date>
                </bug>
                <bug id="1333" tool="jira">
                    <description>
                        Fixed inconsistency related to not calling setPreserveWhiteSpace(true) in Unmarshaller.unmarshal(Class, Node)
                    </description>
                    <contributor>
                        <name>Thomas Tatzel</name>
                        <email>thomas.tatzel@db.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Thomas Tatzel</name>
                        <email>thomas.tatzel@db.com</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060223</date>
                </bug>
                <bug id="962" tool="jira">
                    <description>
                       Improved code quality of DataObjectAccessException.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060223</date>
                </bug>
                <bug id="1328" tool="jira">
                    <description>
                        Added property to XMLClassDescriptor to distinguish whether XML
                        artefact represented is abstract/concrete
                    </description>
                    <contributor>
                        <name>Adam Kramer</name>
                        <email>adam@monkey.org</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Adam Kramer</name>
                        <email>adam@monkey.org</email>
                   </reporter>
                    <type>Enh</type>
                    <module>XML</module>
                    <date>20060222</date>
                </bug>
                <bug id="1159" tool="jira">
                    <description>
                        Fixed problem with range checking in code generated for collections.
                    </description>
                    <contributor>
                        <name>Martin Kleppmann</name>
                        <email>codehaus@kleppmann.de</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Martin Kleppmann</name>
                        <email>codehaus@kleppmann.de</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060222</date>
                </bug>
                <bug id="1329" tool="jira">
                    <description>
                        Added XML HOW-TOs for mapping collections and maps.
                    </description>
                    <contributor>
                        <name>Robby Pelssers</name>
                        <email>robby.pelssers@vodafone.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Robby Pelssers</name>
                        <email>robby.pelssers@vodafone.com</email>
                   </reporter>
                    <type>Enh</type>
                    <module>XML</module>
                    <date>20060222</date>
                </bug>
                <bug id="1326" tool="jira">
                    <description>
                        Added new EventProducer2 interface to allow streaming of SAX 2 events into Castor XML
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>David Leal</name>
                        <email>achepati67@yahoo.es</email>
                   </reporter>
                    <type>Enh</type>
                    <module>XML</module>
                    <date>20060221</date>
                </bug>
                <bug id="1127" tool="jira">
                    <description>
                        Added support for non-numeric identities to sequence key generator
                    </description>
                    <contributor>
                        <name>Tim Telcik</name>
                        <email>ttelcik@hbf.com.au</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Tim Telcik</name>
                        <email>ttelcik@hbf.com.au</email>
                   </reporter>
                    <type>Enh</type>
                    <module>JDO</module>
                    <date>20060221</date>
                </bug>
                <bug id="1323" tool="jira">
                    <description>
                        Fixed failure in MappingTool that always caused a NullPointerException.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Stefan Lober</name>
                        <email>stefan_lober@yahoo.de</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060221</date>
                </bug>
                <bug id="998" tool="jira">
                    <description>
                        Added new ZIP file to distribution that contains fully self-containd Castor JDO sample
                        code running against Apache Derby (embedded).
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Enh</type>
                    <module>JDO</module>
                    <date>20060217</date>
                </bug>
                <bug id="1325" tool="jira">
                    <description>
                        Added how to wrap a collection with a wrapper element.
                    </description>
                    <contributor>
                        <name>James Adams</name>
                        <email></email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>James Adams</name>
                        <email></email>
                    </reporter>
                    <type>Enh.</type>
                    <module>XML</module>
                    <date>20060215</date>
                </bug>
                <bug id="1324" tool="jira">
                    <description>
                        Added WeblogicXMLSerializerFactory.
                    </description>
                    <contributor>
                        <name>Thierry Guerin</name>
                        <email>thierry.guerin@prima-solutions.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Thierry Guerin</name>
                        <email>thierry.guerin@prima-solutions.com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>XML</module>
                    <date>20060215</date>
                </bug>
                <bug id="1322" tool="jira">
                    <description>
                       Fixed problem in Windows batch files related to directory names with spaces.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Stefan Lober</name>
                        <email>stefan_lober@yahoo.de</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060215</date>
                </bug>
                <bug id="1293" tool="jira">
                    <description>
                        Fixed NullPointerException in ClassDescriptorImpl caused by
                        Class.getClassLoader() returning null in some situations.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Rutger Lubbers</name>
                        <email>rutger.lubbers@vodafone.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060214</date>
                </bug>
                <bug id="1232" tool="jira">
                    <description>
                       Added additional snytax for specifying identity columns
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060214</date>
                </bug>
                <bug id="1314" tool="jira">
                    <description>
                       Added Castor JDO collection type 'enumerate' (java.util.Enumeration).
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060211</date>
                </bug>
                <bug id="1321" tool="jira">
                    <description>
                        Checkstyled recently added classes under org.castor.jdo.driver.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060211</date>
                </bug>
                <bug id="1315" tool="jira">
                    <description>
                       Added Castor JDO collection type 'iterator' (java.util.Iterator).
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060210</date>
                </bug>
                <bug id="1316" tool="jira">
                    <description>
                       Added SQL statement logging support for JDBC CallableStatements
                    </description>
                    <contributor>
                        <name>Raúl Sanz de Acedo Pérez</name>
                        <email>rsanz@cein.es</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Raúl Sanz de Acedo Pérez</name>
                        <email>rsanz@cein.es</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060210</date>
                </bug>
                <bug id="1317" tool="jira">
                    <description>
                       Prevented DatabaseImpl.finalize() from logging when used with global transactions and
                       database pooling enabled.
                    </description>
                    <contributor>
                        <name>Raúl Sanz de Acedo Pérez</name>
                        <email>rsanz@cein.es</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Raúl Sanz de Acedo Pérez</name>
                        <email>rsanz@cein.es</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060210</date>
                </bug>
                <bug id="475" tool="jira">
                    <description>
                       Fixed problem with wrongly generated SQL with self-referential objects that are part of
                       an extend hierarchy.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Andreas Arrgard</name>
                        <email>andreas.arrgard@octagroup.com</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060207</date>
                </bug>
                <bug id="1128" tool="jira">
                    <description>
                        Fixed problem related to the use of 'depend' relations and identity
                        key generators. At the same time, support for postgreSQL has been
                        added to the identity key generator.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Nick Stuart</name>
                        <email>nicholas.stuart@gmail.com</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060203</date>
                </bug>
                <bug id="1310" tool="jira">
                    <description>Added identity key generator support for Borland Pointbase to Castor JDO.</description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060206</date>
                    </bug>

            </bugs>
        </release>
        <release version="1.0M2">
            <description>2nd milestone release for Castor 1.0</description>
            <date>Febraury 03, 2006</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>Additions</h2>

                <h3>Support for <tt>java.util:list as collection type</tt></h3>

                <p>Added support for <tt>java.util.List</tt> as collection type for Castor XML.</p>

                <h3>Support for Borland Pointbase</h3>

                <p>Support for Borland's Pointbase has been added. For initial information
                   about configuration of Castor JDO for the use with Borland's Pointbase,
                   please see <tt>src/tests/jdo/pointbse.xml</tt>.</p>


                <h3>Added isLocked (CLass, Object) method to Database interface</h3>

                <p>This new method allows to check, whether a particular object (as identified
                   by the object identity and the object class) is currently
                   locked with Castor JDO.</p>

                <h3>Added documentation about Castor JDO Persistence interface</h3>

                <p>Added a section about the various methods available on the Persistence
                   interface to the HTML docs.</p>

                <h3>Allowed case insensitive lookups of enumerated type values</h3>

                <p>With 'case-insensitive' commandline option of source generator you are
                   now able to instruct Castor to use case insensitive lookups for
                   enumerated type values.</p>

                <h2>Changes</h2>

                <p>As a result of this refactoring, we had to change the way a XMLSerializer
                   is created (instantiated). Rather than letting Castor know about the
                   XMLSerializer to use, as in</p>

                <code>
# Defines the default XML serializer to be used by castor
# The serializer must implement org.apache.xml.serialize.Serializer
#
org.exolab.castor.serializer=org.apache.xml.serialize.XMLSerializer
                </code>
                <p>the user is now required to specify an XMLSerialzer factory as follows:</p>

                <code>
# Defines the (default) XML serializer factory to use by Castor,
# which must implement org.exolab.castor.xml.SerializerFactory;
# default is org.exolab.castor.xml.XercesXMLSerializerFactory
org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesXMLSerializerFactory
                </code>

                <p>As of this release, we only support the XercesXMLSerializerFactory
                   as shown above, but provide users with three new interfaces (namely
                   <tt>Serializer</tt>,<tt>OutputFormat</tt> and <tt>XMLSerializerFactory</tt>)
                   that need to be implemented to support any other's XML parser
                   custom serialization mechanism.</p>

                <h3>Refactored cache into new org.castor.cache package</h3>

                <p>Take care to adjust your custom castor.properties file to reflect
                   the changed packages of CacheFactories.</p>

                <code>
#
# Cache implementations
#
org.castor.cache.Factories=\
  org.castor.cache.simple.NoCacheFactory,\
  org.castor.cache.simple.TimeLimitedFactory,\
  org.castor.cache.simple.CountLimitedFactory,\
  org.castor.cache.simple.UnlimitedFactory,\
  org.castor.cache.distributed.FKCacheFactory,\
  org.castor.cache.distributed.JcsCacheFactory,\
  org.castor.cache.distributed.JCacheFactory,\
  org.castor.cache.distributed.CoherenceCacheFactory
                </code>

                <p>Note: By also moving CacheFactoryRegistry to org.castor.cache
                   package the property has been renamed from 1.0M1 a second time.</p>

                <h3>Changed syntax of cache definition in mapping</h3>

                <p>The DTD declaration is as follows:
                   <code-panel><![CDATA[
<!ELEMENT cache-type  ( param* )>
<!ATTLIST cache-type
    type           ( none | count-limited | time-limited | unlimited |
                     coherence | fkcache | jcache | jcs ) "count-limited"
    debug          (true|false) "false"
    capacity       NMTOKEN  #IMPLIED>

<!ELEMENT param EMPTY>
<!ATTLIST param
          name   NMTOKEN  #REQUIRED
          value  NMTOKEN  #REQUIRED>]]></code-panel></p>

                <p>The new syntax is still backward compatible to the old one but allows
                   to enable debugging of cache access for a specific class as well as
                   passing individual configuration parameters to each cache instance.
                   Only <b>count-limited</b> and <b>time-limited</b> of the current cache
                   types support parameters. Parameter names are case sensitive and are
                   silently ignored if they are unknown to a cache type.</p>

                <p>It need to be noted that there are 3 parameter names that are reserved
                   for internal use. If you specify a parameter with one of the names:
                   <b>type</b>, <b>name</b> or <b>debug</b> their value will silently be
                   overwritten with another one used internally.</p>

                <p>A <b>count-limited</b> least-recently-used cache (LRU) for 500 objects
                   can be specified by:
                   <code-panel><![CDATA[
<cache-type type="count-limited" capacity="500"/>]]></code-panel>
                   or
                   <code-panel><![CDATA[
<cache-type type="count-limited"/>
    <param name="capacity" value="500"/>
</cache-type>]]></code-panel>
                   If both, the capacity attribute and parameter with name="capacity" is
                   specified, the parameter value takes precedence over the attribute
                   value.</p>

                <p>A <b>time-limited</b> first-in-first-out cache (FIFO) that expires
                   objects after 15 minutes can be specified by:
                   <code-panel><![CDATA[
<cache-type type="time-limited" capacity="900"/>]]></code-panel>
                   or
                   <code-panel><![CDATA[
<cache-type type="time-limited"/>
    <param name="ttl" value="900"/>
</cache-type>]]></code-panel>
                   If both, the capacity attribute and parameter with name="ttl" is
                   specified, the parameter value takes precedence over the attribute
                   value.</p>

                <p>The <b>debug</b> attribute can be used to enable debugging for objects
                   of a single class only, as described below.</p>

                <h3>Added debugging of cache access</h3>

                <p>If you like to get debug messages for every access to cache independend
                   of the caches type or the class of the object that is accessed you
                   only need to set logging level of <b>org.castor.cache</b> to debug.
                   As this may lead to lots of debug messages, you are not interested
                   in, there are 2 options to reduce the number of the messages.</p>

                <p>If you are interested in all accesses to a specific cache type you set
                   the logging level of this implementation to debug.</p>

                <p>To get debug messages of accesses to objects of a specific class
                   there are 2 things you need to do. To be able to get debug messages at
                   all you need to set logging level of <b>org.castor.cache.Cache</b> to
                   debug first. Then you only need to set the debug attribute of the class
                   you are interested in to <b>true</b> in the mapping.</p>

                <p>Note: By allowing to pass individual configuration properties from
                   mapping to cache we again changed the way debugging is enabled. The
                   property in castor.properties file from relaese 1.0M1 is no longer
                   supported.</p>
            </summary>
            <bugs>

                <bug id="1310" tool="jira">
                    <description>
                        Added identity key generator support for Borland Pointbase to Castor JDO.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060206</date>
                </bug>
                <bug id="1305" tool="jira">
                    <description>
                        Added support for Borland Pointbase to Castor JDO.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>John</name>
                        <email>jgreene@cwjamaica.com</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060201</date>
                </bug>
                <bug id="1238" tool="jira">
                    <description>
                        Allowed restricting an complexType with complexContent to
                        complexType with simpleContent.
                    </description>
                    <contributor>
                        <name>Ulrich Post</name>
                        <email>Ulrich.Post@softwareag.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ulrich Post</name>
                        <email>Ulrich.Post@softwareag.com</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>XML</module>
                    <date>20060202</date>
                </bug>
                <bug id="903" tool="jira">
                    <description>
                        Added documentation about Castor JDO Persistence interface.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060131</date>
                </bug>
                <bug id="1288" tool="jira">
                    <description>
                        Allowed case insensitive lookups for enumerated type values.
                    </description>
                    <contributor>
                        <name>Will McKinley</name>
                        <email>willowmck@yahoo.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Will McKinley</name>
                        <email>willowmck@yahoo.com</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>XML</module>
                    <date>20060130</date>
                </bug>
                <bug id="1308" tool="jira">
                    <description>
                        Fixed NullPointerException in MappingTool.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Mike Wannamaker</name>
                        <email>mike.wannamaker@kingston.hummingbird.com</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060130</date>
                </bug>
                <bug id="785" tool="jira">
                    <description>
                        Move class loading code for Castor JDO to a single utility class
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060129</date>
                </bug>
                <bug id="1282" tool="jira">
                    <description>
                        Added HOW-TO document for enabling XML parser validation.
                    </description>
                    <contributor>
                        <name>Stephen Bash</name>
                        <email>bash@ll.mit.edu</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Stephen Bash</name>
                        <email>bash@ll.mit.edu</email>
                   </reporter>
                    <type>Bug</type>
                    <module>Enh.</module>
                    <date>20060127</date>
                </bug>
                <bug id="1139" tool="jira">
                    <description>
                        Added Database.isLocked(Class, Object) method.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Andre Teubner</name>
                        <email>andre.teubner@web.de</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060127</date>
                </bug>
                <bug id="1304" tool="jira">
                    <description>
                        Fixed some errors in some XML files.
                    </description>
                    <contributor>
                        <name>Clovis Wichosky</name>
                        <email>clovis.wichoski@gmail.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Clovis Wichosky</name>
                        <email>clovis.wichoski@gmail.com</email>
                   </reporter>
                    <type>Bug</type>
                    <module>All</module>
                    <date>20060127</date>
                </bug>
                <bug id="1268" tool="jira">
                    <description>
                        Replaced incorrect use of URL.toString() with URL.toExternalForm().
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Trygve Laugstol</name>
                        <email>trygvis@codehaus.org</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060124</date>
                </bug>
               <bug id="379" tool="jira">
                    <description>
                        Improved exception handling by chaining original exception.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Nicolas Marchildon</name>
                        <email>nicolas@marchildon.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060124</date>
                </bug>
                <bug id="1267" tool="jira">
                    <description>
                        Fixed bug in SourceGenerator that caused xsd:enumeration values
                        for NMTOKENS and integer being created with wrong type.
                    </description>
                    <contributor>
                        <name>Bill Leng</name>
                        <email>wleng@metatomix.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Bill Leng</name>
                        <email>wleng@metatomix.com</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060121</date>
                </bug>
                <bug id="1303" tool="jira">
                    <description>
                        Code cleanup at SQLEngine.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060121</date>
                </bug>
               <bug id="1301" tool="jira">
                    <description>
                        De-deprecated getDatabasePooling() and setDatabasePooling(boolean) methods.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Raúl Sanz de Acedo Pérez</name>
                        <email>rsanz@cein.es</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060119</date>
                </bug>
                <bug id="1292" tool="jira">
                    <description>
                        Fixed problem with SQL generated for classes that are part of an extend hierarchy.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Lorenzo Dematte</name>
                        <email>dematte@ieee.org</email>
                   </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20060118</date>
                </bug>
                <bug id="1273" tool="jira">
                    <description>
                        Removed compile &amp; runtime dependencies for Apache Xerces.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060108</date>
                </bug>
                <bug id="1300" tool="jira">
                    <description>
                        Fixed NPE in SourceCodeGenerator.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Jason Boutwell</name>
                        <email>jason.boutwell@comcast.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060114</date>
                </bug>
                <bug id="1272" tool="jira">
                    <description>
                        Added support for List interface during marshalling of collections
                    </description>
                    <contributor>
                        <name>Kevin Taylor</name>
                        <email>code@obtiva.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Kevin Taylor</name>
                        <email>code@obtiva.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20060113</date>
                </bug>
                <bug id="1299" tool="jira">
                    <description>
                        Allowed to specify individual parameters for cache initialization
                        in mapping.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060107</date>
                </bug>
                <bug id="1280" tool="jira">
                    <description>
                        Made CacheRegistry non static.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060106</date>
                </bug>
                <bug id="1298" tool="jira">
                    <description>
                        Added ReadWriteLock's and ConcurrentHashMap from Doug Lea.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20060105</date>
                </bug>
                <bug id="551" tool="jira">
                    <description>
                        Removed exception-dependency in Parser and Lexer
                        including some code improvements.
                    </description>
                    <contributor>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20060104</date>
                </bug>
                <bug id="1289" tool="jira">
                    <description>
                        Fixed problem with generated ClassChoice instances.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20051231</date>
                </bug>
                <bug id="1218" tool="jira">
                    <description>
                        Moved all script/batch files to new bin directory.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20051228</date>
                </bug>
            </bugs>
        </release>
        <release version="1.0M1">
            <description>Milestone release for Castor XML and JDO</description>
            <date>December 22, 2005</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>New features</h2>

                <h3>Support for collections of type 'SortedSet' (incl. use of Comparator)</h3>

                <p>Support has been added for the new collection type 'sortedset'. This allows users
                of Castor (XML and JDO) to use collections of type <tt>java.util.SortedSet</tt> to allow
                for automatic ordering of the collection upon e.g. insertion of the data.</p>

                <p>User can either specify a <tt>java.util.Comparator</tt
                > instance using the <i>comparator</i>
                attribute on the field mapping, or make the entities stored within the <tt>SortedSet</tt>
                implement <tt>java.util.Comparable</tt>.</p>

                <h2>Changes</h2>

                <h3>Moved JDO configuration from org.exolab.castor to org.castor package</h3>

                <p>With this refactoring JDOConfFactory has also been moved from
                   <b>org.exolab.castor.jdo.util</b> to <b>org.castor.jdo.util</b> package.
                   In addition we allowed to specify a name attribute on the jdo-conf tag that
                   will be used in future to distinguish between different configurations.</p>

                <h3>Refactored cache into new org.castor.cache package</h3>

                <p>Take care to adjust your custom castor.properties file to reflect
                   the changed packages of CacheFactories.</p>

                <code>
#
# Cache implementations
#
org.castor.jdo.cacheFactories=\
  org.castor.cache.simple.NoCacheFactory,\
  org.castor.cache.simple.TimeLimitedFactory,\
  org.castor.cache.simple.CountLimitedFactory,\
  org.castor.cache.simple.UnlimitedFactory,\
  org.castor.cache.distributed.FKCacheFactory,\
  org.castor.cache.distributed.JcsCacheFactory,\
  org.castor.cache.distributed.JCacheFactory,\
  org.castor.cache.distributed.CoherenceCacheFactory
                </code>

                <h3>Added debugging of cache access</h3>

                <p>By setting the property <b>org.castor.jdo.cacheDebug</b> to
                   <b>true</b> you are able to get debug messages for every cache
                   access in the configured log.</p>

                <code>
#
# True if proxy class should be used to debug access to cache
# (default: false).
#
#org.castor.jdo.cacheDebug=false
                </code>

                <h3>Moved transaction manager from org.exolab.castor to org.castor package</h3>

                <p>Take care to adjust your custom castor.properties file to reflect
                   the changed packages of TransactionManagerFactories.</p>

                <code>
#
# TransactionManagerFactory implementations
#
org.castor.transactionmanager.Factories=\
  org.castor.transactionmanager.WebSphereTransactionManagerFactory,\
  org.castor.transactionmanager.WebSphere5TransactionManagerFactory,\
  org.castor.transactionmanager.WebSphere51TransactionManagerFactory,\
  org.castor.transactionmanager.LocalTransactionManagerFactory,\
  org.castor.transactionmanager.JNDIENCTransactionManagerFactory,\
  org.castor.transactionmanager.JOTMTransactionManagerFactory
                </code>

                <p>In addition a new property has been introduced that allows to
                   configure if the transaction manager shell be acquired instantly when
                   he is registered or lazy when it is needed for the first time.</p>

                <code>
#
# Shell the TransactionManager be initialized at registration or lazily when
# requested for the first time? Defaults to false.
#
org.castor.transactionmanager.InitializeAtRegistration=false
                </code>
            </summary>
            <bugs>
                <bug id="1274" tool="jira">
                    <description>
                        Made TransactionManagerRegistry non static and moved it
                        to org.castor.transactionmanager package.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051219</date>
                </bug>
                <bug id="719" tool="jira">
                    <description>
                        Added serialVersionUID to serializable classes.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Gregory Block</name>
                        <email>gblock@ctoforaday.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>All</module>
                    <date>20051213</date>
                </bug>
                <bug id="1279" tool="jira">
                    <description>
                        Removed some unnecessary object constructions
                        and removed manual array copy.
                    </description>
                    <contributor>
                        <name>Dave Brosius</name>
                        <email>dbrosius@qis.net</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Dave Brosius</name>
                        <email>dbrosius@qis.net</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20051206</date>
                </bug>
                <bug id="1278" tool="jira">
                    <description>
                        Allowed java to be on a path with spaces.
                    </description>
                    <contributor>
                        <name>Dave Brosius</name>
                        <email>dbrosius@qis.net</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Dave Brosius</name>
                        <email>dbrosius@qis.net</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20051206</date>
                </bug>
                <bug id="1240" tool="jira">
                    <description>
                        Added support for specifying a java.util.Comparator instance for sortedset collections.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                   </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051206</date>
                </bug>
                <bug id="1230" tool="jira">
                    <description>
                        Refactored cache to implement java.util.Map interface into
                        new org.castor.cache package.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051201</date>
                </bug>
                <bug id="1271" tool="jira">
                    <description>
                        Fixed problem with special mappings that have a 'foreign' relation as first
                        field mapping.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Sean</name>
                        <email>mailto:xiaoyong.liang@1cm.com.cn</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20051201</date>
                </bug>
                <bug id="1171" tool="jira">
                    <description>
                        Refactored SQLTypes into SQLTypeInfos and SQLTypeConverters.
                    </description>
                    <contributor>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051126</date>
                </bug>
                <bug id="1265" tool="jira">
                    <description>
                        Fixed problem with OQL queries and CALL SQL statements
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Sean</name>
                        <email>mailto:xiaoyong.liang@1cm.com.cn</email>
                    </reporter>
                    <type>Bug.</type>
                    <module>JDO</module>
                    <date>20051125</date>
                </bug>
                <bug id="766" tool="jira">
                    <description>
                        Refactored TransactionContext into an interface and global/local
                        implementations.
                    </description>
                    <contributor>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051124</date>
                </bug>
                <bug id="1264" tool="jira">
                    <description>
                        Resolved problem with keygenerator RETURNING.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Helene Wiebe</name>
                        <email>helene.wiebe@t-systems.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20051124</date>
                </bug>
                <bug id="1233" tool="jira">
                    <description>
                        Added support for collections of type java.util.SortedSet.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20051021</date>
                </bug>
                <bug id="1266" tool="jira">
                    <description>
                        Move org.exolab.castor.jdo.conf to org.castor.jdo.conf.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051119</date>
                </bug>
            </bugs>
        </release>
        <release version="0.9.9.1">
            <description>Maintenance release for Castor XML and JDO</description>
            <date>November 15, 2005</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>New features</h2>

                <h3>Added support for JOTM as transaction manager</h3>

                <p>Added support for JOTM as transaction co-ordinator. As a result, the
                   following transaction managers are supported.</p>

                <ctable>
                    <cheader>
                        <th align="left">Name</th><th align="left">Description</th>
                    </cheader>
                    <crow>
                        <td>jndi</td><td>TM looked up in the JNDI ENC</td>
                    </crow>
                    <crow>
                        <td>websphere</td><td>IBM WebSphere 4 and previous releases</td>
                    </crow>
                    <crow>
                        <td>websphere5</td><td>IBM WebSphere 5</td>
                    </crow>
                    <crow>
                        <td>websphere51</td><td>IBM WebSphere 5.1</td>
                    </crow>
                    <crow>
                        <td>jotm</td><td>Java Object Transaction Monitor</td>
                    </crow>
                </ctable>

                <h3>Improved Database.getIdentity(Object)</h3>

                <p>The new implementation of the Database.getIdentity(Object) does not rely on the
                   object being loaded in the same transaction anymore. It is even not required to
                   have an active transaction. The identity will now be determined by calling the
                   getters of the fields defined as identities in the mapping. If a mapping for the
                   objects class could not be found a ClassNotPersistenceCapableException will be
                   thrown. Null is only returned if the objects identity is null.</p>

                <p><b>Note:</b>Care should be take if you previously used the null return of
                   Database.getIdentity(Object) to determine if the object has been loaded in
                   the current transaction before.</p>

                <h3>Added helper method to close database</h3>

                <p>Added org.castor.jdo.util.JDOUtils.closeDatabase() method to close an open
                   database instance without throwing exceptions. Any active transaction will be
                   silently rolled back.</p>

                <h2>Bugs</h2>

                <h3>Improved 'caching' of Castor DTDs/XML Schemas</h3>

                <p>Added code to DTDResolver so that any URL/URIs against http://castor.org/... will
                   be resolved against (local) files from within the Castor JAR(s).</p>

                <h3>Problem obtaining underlying JDBC connections</h3>

                <p>Fixed a problem with obtaining the underlying JDBC connection used by Castor
                   internally when there was no valud transaction. The code has been changed so that
                   a <i>PersistenceException</i> will be thrown to indicate the lack of a valid
                   transaction.</p>

            </summary>
            <bugs>
                <bug id="1024" tool="jira">
                    <description>
                        Fixed issue where whitespace have been deleted by Unmarshaller.
                    </description>
                    <contributor>
                        <name>Ross Virostko</name>
                        <email>rvirostko@cox.net</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Peter Wyngaard</name>
                        <email>peter@wyngaard.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20051230</date>
                </bug>
                <bug id="1241" tool="jira">
                    <description>
                        Improved documentation about locking modes.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Vish Madan</name>
                        <email>vishal.madan@wipro.com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051113</date>
                </bug>
                <bug id="1247" tool="jira">
                    <description>
                        Fixed problem with releasing object lock due to a
                        LockNotGrantedException.
                    </description>
                    <contributor>
                        <name>Vish Madan</name>
                        <email>vishal.madan@wipro.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Vish Madan</name>
                        <email>vishal.madan@wipro.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20051112</date>
                </bug>
                <bug id="1239" tool="jira">
                    <description>
                        Improved Database.getIdentity(Object) to be able to resolve identity without
                        relying on the object been loaded from the database in the same transaction.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Henk van Voorthujsen</name>
                        <email>voorth@xs4all.nl</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051110</date>
                </bug>
                <bug id="1260" tool="jira">
                    <description>
                        Added org.castor.jdo.util.JDOUtils.closeDatabase() helper method.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051110</date>
                </bug>
                <bug id="1259" tool="jira">
                    <description>
                        Refactored org.exolab.castor.jdo.Utils into org.castor.jdo.util.JDOUtils.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20051110</date>
                </bug>
                <bug id="1249" tool="jira">
                    <description>
                        Included new implementations of Base64Encoder/-Decoder with
                        castor-0.9.9-xml.jar.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20051107</date>
                </bug>
                <bug id="1253" tool="jira">
                    <description>
                        Fixed problem with with using count() in OQL queries that
                        involve extend relations.
                    </description>
                    <contributor>
                        <name>Sean</name>
                        <email>aoyong.liang@1cm.com.cn</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Sean</name>
                        <email>aoyong.liang@1cm.com.cn</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20051105</date>
                </bug>
                <bug id="1254" tool="jira">
                    <description>
                        Added support for distinct keyword in count() functions.
                    </description>
                    <contributor>
                        <name>Sean</name>
                        <email>aoyong.liang@1cm.com.cn</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Sean</name>
                        <email>aoyong.liang@1cm.com.cn</email>
                    </reporter>
                    <type>New feature</type>
                    <module>JDO</module>
                    <date>20051103</date>
                </bug>
                <bug id="1256" tool="jira">
                    <description>
                        Added non-trivial sample for usage of binding file
                    </description>
                    <contributor>
                        <name>Martin Graney</name>
                        <email>martin.graney@leanapps.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Martin Graney</name>
                        <email>martin.graney@leanapps.com</email>
                    </reporter>
                    <type>Addition</type>
                    <module>XML</module>
                    <date>20051103</date>
                </bug>
                <bug id="1223" tool="jira">
                    <description>
                        Added TransactionManagerFactory for JOTM.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </reporter>
                    <type>New feature</type>
                    <module>JDO</module>
                    <date>20051020</date>
                </bug>
                <bug id="1220" tool="jira">
                    <description>
                        Added config entries for http://castor.org/* to DTDResolver.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20051013</date>
                </bug>
                <bug id="1219" tool="jira">
                    <description>
                        Changed many references to http://castor.exolab.org to http://castor.org
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Bug</type>
                    <module>All</module>
                    <date>20051012</date>
                </bug>
                <bug id="1224" tool="jira">
                    <description>
                        Fixed problem with obtaining JDBC connection when no transaction
                        in progress.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Brian Schlining</name>
                        <email>bschlining@gmail.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20051013</date>
                </bug>
                 <bug id="1231" tool="jira">
                    <description>
                        Fixed problem with SQL generated for OQL queries where only id fields
                        are present.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Minh Tran-LeJeremy Whitlock</name>
                        <email>tranle@gmail.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20051013</date>
                </bug>
                <bug id="1216" tool="jira">
                    <description>
                        Generated java source files won't compile.
                    </description>
                    <contributor>
                        <name>Keith Visco</name>
                        <email>keith AT kvisco DOT com</email>
                    </contributor>
                    <submitter>
                        <name>Keith Visco</name>
                        <email>keith AT kvisco DOT com</email>
                    </submitter>
                    <reporter>
                        <name>Bill Leng</name>
                        <email>wleng@metatomix.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20051011</date>
                </bug>
                <bug id="1153" tool="jira">
                    <description>
                        Unable to generate binding using SourceGen.
                    </description>
                    <contributor>
                        <name>Keith Visco</name>
                        <email>keith AT kvisco DOT com</email>
                    </contributor>
                    <submitter>
                        <name>Keith Visco</name>
                        <email>keith AT kvisco DOT com</email>
                    </submitter>
                    <reporter>
                        <name>Neil Taylor</name>
                        <email>neiltaylor@mac.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20051010</date>
                </bug>
                <bug id="1152" tool="jira">
                    <description>
                        PropertyChangeListeners for bound properties should not be serialized.
                    </description>
                    <contributor>
                        <name>Andrew Fawcett</name>
                        <email>andrew.fawcett@coda.com</email>
                    </contributor>
                    <submitter>
                        <name>David Green</name>
                        <email></email>
                    </submitter>
                    <reporter>
                        <name>David Green</name>
                        <email></email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20051010</date>
                </bug>
            </bugs>
        </release>
        <release version="0.9.9">
            <description>Feature release for Castor XML and JDO</description>
            <date>September 22, 2005</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>Download &amp; installation instructions</h2>

                <p>This is the final 0.9.9 release, a feature release for Castor JDO and XML.</p>

                <p>Please note that we are providing the usual suspects (binaries, docs and
                   sources) for this release at <a href="http://dist.codehaus.org/castor/0.9.9.">
                   the Codehaus</a>.</p>


                <p>We are currently planning for a <b>Castor 1.0</b> release in about 8+ weeks,
                which we mainly see as a bug fix release and a one-time opportunity
                to get the HTML documentation into a better shape .. ;-).</p>

                <p>Please note that we have - in addition to the features added and bugs fixed
                   as documented with 0.9.9M1 and 0.9.9M2 - started to makes substantial changes
                   to the project documentation as follows:</p>

                <p>
                    <ul>
                        <li>Addition of the first Castor JDO HOW-TO pages</li>
                        <li>Addition of an initial (hence draft) Castor JDO best practice
                            document</li>
                        <li>Addition of a Castor JDO feature page</li>
                    </ul>
                </p>

                <p>As mentioned above, these pages are work in progress and shall be expanded
                   for the upcoming 1.0 release.</p>

            </summary>
            <bugs>
                <bug id="1215" tool="jira">
                    <description>
                        Fixed JDO.getDatabase()NullPointerException.
                    </description>
                    <contributor>
                        <name>Gregory Block</name>
                        <email>gblock@ctoforaday.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Jeremy Whitlock</name>
                        <email>jcscoobyrs@gmail.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050919</date>
                </bug>
            </bugs>
        </release>
        <release version="0.9.9M2">
            <description>2nd Milestone release for 0.9.9</description>
            <date>Sep 13, 2005</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>Download &amp; installation instructions</h2>

                <p>Please note that we are providing the usual suspects (binaries, docs and
                   sources) for this release at <a href="http://dist.codehaus.org/castor/0.9.9.">
                   the Codehaus</a>. We recommend, though, to download the complete package,
                   as the HTML docs at <a href="http://castor.codehaus.org">the main Castor site</a> has
                   not been updated, and to build the documentation yourself.</p>

                <p>Preparations for the final release have started. Since the last release candidate,
                   the following problem areas have been addressed.</p>
            </summary>
            <bugs>
                <bug id="1210" tool="jira">
                    <description>
                        Removed references to Poolman from documentation on pooling.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Unknown</reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050907</date>
                </bug>
                <bug id="1195" tool="jira">
                    <description>
                        Integrated original test case provided into Castor CTF.
                    </description>
                    <contributor>
                        <name>Nicholas Stuart</name>
                        <email>nicholas.stuart@gmail.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Nicholas Stuart</reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050908</date>
                </bug>
                <bug id="1207" tool="jira">
                    <description>
                        Prefer to use setter with reference type before setter with primitive
                        type if multiple setters are available.
                    </description>
                    <contributor>
                        <name>Clovis Wichosky</name>
                        <email>clovis.wichoski@gmail.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Clovis Wichosky</name>
                        <email>clovis.wichoski@gmail.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050907</date>
                </bug>
                <bug id="1195" tool="jira">
                    <description>
                        Fixed problem with class resolution during loading polymorphic objects.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050905</date>
                </bug>
                <bug id="1071" tool="jira">
                    <description>
                        Added marketplace section
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh</type>
                    <module>General</module>
                    <date>20050901</date>
                </bug>
            </bugs>
        </release>
        <release version="0.9.9M1">
            <description>Milestone release for 0.9.9</description>
            <date>Aug 24, 2005</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>Download &amp; installation instructions</h2>

                <p>Please note that we are providing the usual suspects (binaries, docs and
                   sources) for this release at <a href="http://dist.codehaus.org/castor/0.9.9.">
                   the Codehaus</a>. We recommend, though, to download the complete package,
                   as the HTML docs at <a href="http://castor.codehaus.org">the main Castor site</a> has
                   not been updated, and to build the documentation yourself.</p>

                <h2>Changes</h2>

                <h3>Support for polymorphism</h3>

                <p>Support for polymorphism has been completely rewritten, allowing you
                   to load objects that are part of an extend relationship by their base
                   types, with Castor JDO returning the actual (leaf) classes.</p>

                <p>With the following class hierarchy ...</p>

                <ul>
                    <li>Server extends Computer</li>
                    <li>Laptop extends Computer</li>
                    <li>Computer extends Product</li>
                </ul>

                <p>it will be possible to execute OQL queries as follows:</p>

                <code>
SELECT product FROM Product product
                </code>

                <p>and Castor JDO will return the actual <tt>Laptop</tt> and
                   <tt>Server</tt> instances. For a complete set of code examples,
                   please review <tt>src/tests/ctf/jdo/tc9x/TestPolymorphism.java</tt>.</p>

                <h3>Updated MANIFEST files</h3>

                <p>Both castor-0.x.y.jar and castor-0.x.y-xml.jar now carry an updated
                   and up-to-date MANIFEST file.</p>

                <h2>New features</h2>

                <h3>Support for Derby</h3>

                <p>Support for <a href="http://db.apache.org/derby">Apache Derby</a>
                   (starting with release 10.1.1.0) has been added. For initial information
                   about configuration of Castor JDO for the use with Apache Derby,
                   please see <tt>src/tests/jdo/derby.xml</tt>.</p>

                <p>Known issues:<br/>
                   <ul>
                      <li>No support for LIMIT clause</li>
                      <li>No support for identity key generator (temporarily)</li>
                      <li>No support for SELECT .. FOR UPDATE statements.</li>
                   </ul>
                </p>

                <h3>Added support for distributed caches</h3>

                <p>As of this release, four new cache types have been added:</p>

                <p>
                    <ol>
                        <li>Tangosol Coherence (coherence)</li>
                        <li>JCache (jcache)</li>
                        <li>FKCache (fkcache)</li>
                        <li>JCS (jcs)</li>
                    </ol>
                </p>

                <p>As some of these cache implementations allow you to use it in a
                   distributed mode, this allows Castor JDO to be used in a clustered
                   (multi-JVM) environment. In such an environment, Castor JDO
                   wil make use of the underlying cache provider to replicate/distribute
                   the cache content between the various JDOManager instances.</p>

                <h3>Support for transient attribute for &lt;sql&gt; mappings</h3>

                <p>Support for the <tt>transient</tt> attribute has been added to
                   the &lt;sql&gt; element has been added. This allows you to define a
                   field mapping as follows:</p>

                <code>
&lt;field name="prop1" type="string"&gt;
   &lt;sql name="prop_1" <font color="red">transient="true"</font> /&gt;
   &lt;bind-xml name="property1" /&gt;
&lt;/field&gt;
                </code>

                <p>allowing you to include a field for XML un-/marshalling, but exclude
                   it from persistence.</p>

                <h3>Support for typesafe enumerations</h3>

                <p>Enumerations are a common method for ensuring data integrity, both in software and
                   in relational databases. As a platform for linking the two, we added support for
                   persisting class fields whose type is a Java typesafe enumeration to Castor JDO.</p>

                <p>To use this new feature your typesafe enumeration should follow the enum pattern
                   commonly used and provide a <tt>static valueOf(String)</tt> method. An enum of
                   different kinds of computer equipment may look like:</p>

                <code>
public class KindEnum {
    private static final Map KINDS = new HashMap();

    public static final KindEnum MOUSE = new KindEnum("Mouse");
    public static final KindEnum KEYBOARD = new KindEnum("Keyboard");
    public static final KindEnum COMPUTER = new KindEnum("Computer");
    public static final KindEnum PRINTER = new KindEnum("Printer");
    public static final KindEnum MONITOR = new KindEnum("Monitor");

    private final String _kind;

    private KindEnum(final String kind) {
        _kind = kind;
        KINDS.put(kind, this);
    }

    public static KindEnum valueOf(final String kind) {
        return (KindEnum) KINDS.get(kind);
    }

    public String toString() { return _kind; }
}
                </code>

                <p>At your Product class you may want to have a property that tells you what kind of
                   computer equipment a product is of.</p>

                <code>
public class Product {
    private int         _id;
    private String      _name;
    private KindEnum    _kind;

    public Product() { }

    public int getId() { return _id; }
    public void setId(int id) { _id = id; }

    public String getName() { return _name; }
    public void setName(String name) { _name = name; }

    public KindEnum getKind() { return _kind; }
    public void setKind(KindEnum kind) { _kind = kind; }
}
                </code>

                <p>Your mapping for the Product class should be:</p>

                <code>
&lt;class name="Product" identity="id"&gt;
  &lt;description&gt;Product with kind enum&lt;/description&gt;
  &lt;map-to table="enum_prod"/&gt;
  &lt;field name="id" type="integer"&gt;
    &lt;sql name="id" type="integer"/&gt;
  &lt;/field&gt;
  &lt;field name="name" type="string"&gt;
    &lt;sql name="name" type="char"/&gt;
  &lt;/field&gt;
  &lt;field name="kind" type="KindEnum"&gt;
    &lt;sql name="kind" type="char"/&gt;
  &lt;/field&gt;
&lt;/class&gt;
                </code>

                <p>To add this new feature we added an additional check when searching for field types.
                   Like before Castor first searches for know types and thereafter for a mapping for
                   the class you specified as type. If both of them do not match it now checks if the
                   class specified as type is available at classpath and has a static valueOf(String)
                   method. Only if all of this conditions are met it will be viewed as a valid mapping.</p>

                <h3>Parametrized boolean-&gt;char type converter</h3>

                <p>Pre patch we always returned a boolean value even if the database contained a value
                   which does not conform to the rules defined. This behaviour caused that we could
                   load records with wrong values without problems but got a ObjectModifiedException
                   when we tried to update these values as our update statment includes checking of
                   all old values in the where clause of SQL statement.</p>

                <p>With the patch this behavier changes to strict checking if the loaded char/string
                   value matches one of the boolean characters defined by conversion rule. If the value
                   does not match a ClassCastException explaing the fail reason will be thrown.</p>

                <h3>Performance improvements</h3>

                <p>Several code areas of Castor JDO have been severly refactored or rewritten
                   from scratch, leading to some significantly improved runtime performance. This
                   includes amongst others a reduced execution time when dealing with a large
                   number of entities loaded as part of a single transaction, etc. </p>


            </summary>
            <bugs>
                <bug id="1204" tool="jira">
                    <description>
                        Added release notes for 0.9.9M1.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>General</module>
                    <date>20050823</date>
                </bug>
                <bug id="999" tool="jira">
                    <description>
                        Added ant targets to to check code conventions with checkstyle.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>ALL</module>
                    <date>20050823</date>
                </bug>
                <bug id="1203" tool="jira">
                    <description>
                        Calculation of priority to execute create and delete statements at commit returns
                        wrong results when no keygen is used or class depends/extends another.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050823</date>
                </bug>
                <bug id="920" tool="jira">
                    <description>
                        Changed argument handling code.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050822</date>
                </bug>
                <bug id="1151" tool="jira">
                    <description>
                        Completely refactored ClassMolder, introducing strategy objects for field resolution.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050821</date>
                </bug>
                <bug id="1132" tool="jira">
                    <description>
                       Added additional check for various built-in types
                       when deciding whether or not to use the parent classes namespace
                       if no local namespace has been defined.
                    </description>
                    <contributor>
                        <name>Michael Westbay</name>
                        <email>westbay AT users DOT sourceforge DOT net</email>
                    </contributor>
                    <submitter>
                        <name>Keith Visco</name>
                        <email>keith AT kvisco DOT com</email>
                    </submitter>
                    <reporter>
                        <name>Michael Westbay</name>
                        <email>westbay AT users DOT sourceforge DOT net</email>
                    </reporter>
                    <type>Bug</type>
                    <module>XML</module>
                    <date>20050817</date>
                </bug>
                <bug id="1179" tool="jira">
                    <description>
                        Refactored how transaction managers are maintained.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050817</date>
                </bug>
                <bug id="1158" tool="jira">
                    <description>
                        Stricter checking at type conversion from string to boolean.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Nick Stuart</name>
                        <email>nick@newtsplace.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050808</date>
                </bug>
                <bug id="943" tool="jira">
                    <description>
                        Created a test case for configuring JDO DataSource using a Properties
                        collection.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Martin Fuchs</name>
                        <email>martin-fuchs@gmx.net</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050806</date>
                </bug>
                <bug id="1190" tool="jira">
                    <description>
                        Fix syntax failures in sapdb.sql script and improve sapdb test coverage.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050806</date>
                </bug>
                <bug id="1185" tool="jira">
                    <description>
                        Replaced MimeBase64Encoder/Decoder with new implementation
                        Base64Encoder/Decoder.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Bruce Snyder</name>
                        <email>bruce DOT snyder AT gmail DOT com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>All</module>
                    <date>20050805</date>
                </bug>
                <bug id="799" tool="jira">
                    <description>
                        Refactored MANIFEST files and their usage within Castor
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050805</date>
                </bug>
                <bug id="1102" tool="jira">
                    <description>
                        Added support for various distributed caches.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050801</date>
                </bug>
                <bug id="300" tool="jira">
                    <description>
                        JDO support for typesafe enumerations.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Rhett Sutphin</name>
                        <email>rhett-sutphin@uiowa.edu</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050730</date>
                </bug>
                <bug id="1178" tool="jira">
                    <description>
                        Added code to set identity upon registering objects with ObjectTracker
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050803</date>
                </bug>
                <bug id="1183" tool="jira">
                    <description>
                        Allow to initialize JDOManager with a preconfigured DataSource.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050803</date>
                </bug>
                <bug id="1173" tool="jira">
                    <description>
                        Solved problem using JDOConfFactory and transaction demarcation
                        specification.
                    </description>
                    <contributor>
                        <name>Gregory Block</name>
                        <email>gblock@ctoforaday.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Gregory Block</name>
                        <email>gblock@ctoforaday.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050801</date>
                </bug>
                <bug id="755" tool="jira">
                    <description>
                        Place all JDO unit tests in a new src/tests/utf/org/exolab/castor/ tree.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Bruce Snyder</name>
                        <email>bruce DOT snyder AT gmail DOT com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050731</date>
                </bug>
                <bug id="1114" tool="jira">
                    <description>
                        Update docs on the limit clause support for OQL.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Bruce Snyder</name>
                        <email>bruce DOT snyder AT gmail DOT com</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050731</date>
                </bug>
                <bug id="1169" tool="jira">
                    <description>
                        Refactored access to caches, adding CacheEntry class and making OID and
                        CacheEntry implement java.io.Serializable.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050727</date>
                </bug>
                <bug id="778" tool="jira">
                    <description>
                        Remove deleteExtend method from ClassMolder.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050725</date>
                </bug>
                <bug id="1135" tool="jira">
                    <description>
                        Refactor how JDBC connection factories are maintained.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050724</date>
                </bug>
                <bug id="1018" tool="jira">
                    <description>
                        Added support for polymorphism.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050715</date>
                </bug>
                <bug id="1110" tool="jira">
                    <description>
                        Refactor CTF-JDO tests into subdirectories (part 2).
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050705</date>
                </bug>
                <bug id="874" tool="jira">
                    <description>
                        Added DB2 category to src/tests/tests.xml.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050703</date>
                </bug>
                <bug id="1085" tool="jira">
                    <description>
                        Complete rewrite of TransactionContext with regards to obejct tracking.
                    </description>
                    <contributor>
                        <name>Gregory Block</name>
                        <email>gblock@ctoforaday.com</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Gregory Block</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050620</date>
                </bug>
                <bug id="1155" tool="jira">
                    <description>
                        Added org.castor package to src/main.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050617</date>
                </bug>
                <bug id="732" tool="jira">
                    <description>
                        Added performance test-suite for 1:n relations of JDO.
                    </description>
                    <contributor>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                    </reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050616</date>
                </bug>
                <bug id="352" tool="jira">
                    <description>
                        Added support for transient attribute at the &lt;sql&gt; element.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Enh.</type>
                    <module>JDO</module>
                    <date>20050615</date>
                </bug>
                <bug id="633" tool="jira">
                    <description>
                        Removed hidden catch-block in LockEngine.updateCache().
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>
                        <name>Stein M. Hugubakken</name>
                        <email>dulci@start.no</email>
                    </reporter>
                    <type>Ref.</type>
                    <module>JDO</module>
                    <date>20050614</date>
                </bug>
            </bugs>
        </release>

        <release version="0.9.7">
            <description>Maintenance release for Castor XML and JDO</description>
            <date>June 8, 2005</date>
            <managed-by>Werner Guttmann</managed-by>
            <summary>
                <h2>Download &amp; installation instructions</h2>

                <p>This is the final 0.9.7. release, mainly a maintenance release. We are currently
                   planning the next release which will be Castor 0.9.9, a feature release.</p>

                <h2>Changes</h2>

                <h3>Moved key generators to jdo.keygen package</h3>

                <p>Whilst this change is non-intrusive per se, please note that you might have to
                   change a local <tt>castor.properties</tt> file if you happened to re-specify key generators
                   in there.</p>

                <h3>Fixed problem with multiple &lt;database&gt; configurations</h3>

                <p>Support for multiple database configurations has been re-enabled.</p>

            </summary>
            <bugs>
                <bug id="1147" tool="jira">
                    <description>
                        Reverted addition to src/tests/jdo/Collections due to problem with missing
                        setItem(ArrayList).
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>General</module>
                    <date>20050607</date>
                </bug>
                <bug id="1138" tool="jira">
                    <description>
                        Moved key generators to jdo.keygen package.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>General</module>
                    <date>20050530</date>
                </bug>
                <bug id="881" tool="jira">
                    <description>
                        JDOManager can now handle more then one jdo-conf.
                    </description>
                    <contributor>
                        <name>Nick Stuart</name>
                        <email>nick@newtsplace.com</email>
                    </contributor>
                    <submitter>
                        <name>Ralf Joachim</name>
                        <email>ralf.joachim@syscon-world.de</email>
                    </submitter>
                    <reporter>
                        <name>Nick Stuart</name>
                        <email>nick@newtsplace.com</email>
                    </reporter>
                    <type>Bug</type>
                    <module>JDO</module>
                    <date>20050530</date>
                </bug>
                <bug id="1131" tool="jira">
                    <description>
                        Update project documentation.
                    </description>
                    <contributor>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </contributor>
                    <submitter>
                        <name>Werner Guttmann</name>
                        <email>werner.guttmann@gmx.net</email>
                    </submitter>
                    <reporter>Werner Guttmann</reporter>
                    <type>Bug</type>
                    <module>General</module>
                    <date>20050525</date>
                </bug>
            </bugs>
        </release>

        <p>For all the releases prior to 0.9.7, the release notes can be found
           at <a href="release-notes-0.9.7pre.html">here</a> or <a href="changelog.html">here</a>.</p>

    </section>
  </body>
</document>
