[jboss-cvs] JBossAS SVN: r90719 - in projects/docs/enterprise: 4.3.5/readme/en-US and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 30 20:04:59 EDT 2009


Author: irooskov at redhat.com
Date: 2009-06-30 20:04:58 -0400 (Tue, 30 Jun 2009)
New Revision: 90719

Modified:
   projects/docs/enterprise/4.2.7/readme/en-US/Release_Notes_CP07.xml
   projects/docs/enterprise/4.3.5/readme/en-US/Release_Notes_CP05.xml
Log:
updated Release Notes with last JIRA


Modified: projects/docs/enterprise/4.2.7/readme/en-US/Release_Notes_CP07.xml
===================================================================
--- projects/docs/enterprise/4.2.7/readme/en-US/Release_Notes_CP07.xml	2009-06-30 23:40:55 UTC (rev 90718)
+++ projects/docs/enterprise/4.2.7/readme/en-US/Release_Notes_CP07.xml	2009-07-01 00:04:58 UTC (rev 90719)
@@ -101,7 +101,7 @@
 			</listitem>
 			<listitem>
 				<para>
-					JBoss Web Services 1.2.1.GA_CP04
+					JBoss Web Services 1.2.1.GA_CP05
 				</para>
 			</listitem>
 			<listitem>
@@ -500,6 +500,39 @@
 				<itemizedlist>
 					<listitem>
 						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2067">JBPAPP-2067</ulink>: The release of Tomcat 6.0.20 saw a set of security vulnerabilities fixed that have now been backported to JBoss Web. These vulnerabilities are:
+						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0033">CVE-2009-0033</ulink>: For Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18, when the <filename>Java AJP</filename> connector and <filename>mod_jk</filename> load balancing were used it would allow for remote attackers to cause a denial of service (application outage) attack via a crafted request with invalid headers. This would occur in relation to the temporary blocking of connectors that had encountered errors, as demonstrated by an error involving a malformed <filename>HTTP Host</filename> header. This update has been rated as having important security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5515">CVE-2008-5515</ulink>: Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, 6.0.0 through 6.0.18, and possibly earlier versions normalized the target pathname before filtering the query string when using the <methodname>RequestDispatcher</methodname> method, which allowed remote attackers to bypass intended access restrictions and conduct directory traversal attacks via <code>..</code> (dot dot) sequences and the <filename>WEB-INF</filename> directory in a <classname>Request</classname>. This update has been rated as having important security impact by the Red
+									Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0783">CVE-2009-0783</ulink>: Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18 would permit web applications to replace an XML parser used for other web applications. This would allow local users to read or modify the <filename>web.xml</filename>, <filename>context.xml</filename>, or <filename>tld</filename> files of arbitrary web applications via a crafted application that is loaded earlier than the target application. This update has been rated as having low security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0781">CVE-2009-0781</ulink>: A Cross-site scripting (XSS) vulnerability existed within the <filename>jsp/cal/cal2.jsp</filename> calendar examples web application for Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18. This vulnerability would allow remote attackers to inject arbitrary web script or HTML via the time parameter, related to <emphasis>invalid HTML</emphasis>. This update has been rated as having low security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0580">CVE-2009-0580</ulink>: For Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18, when <property>FORM</property> authentication was used, this would allow remote attackers to enumerate valid usernames via requests to <filename>/j_security_check</filename>. This would be achieved with malformed URL encoding of passwords, related to improper error checking in the <classname>MemoryRealm</classname>, <classname>DataSourceRealm</classname>, and <classname>JDBCRealm</classname> authentication realms, as demonstrated by a <code>%</code> (percent) value for the <property>j_password</property> parameter. This update has been rated as having low security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+						</itemizedlist>
+					</listitem>
+					<listitem>
+						<para>
 							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2050">JBPAPP-2050</ulink>: When attempting to view a <emphasis>mbean</emphasis> graph through the <emphasis>web-console</emphasis> an exception was being generated by the applet because the <filename>jcommon.jar</filename> library was not included within the ZIP version of the previous release. This library file is now included with this release and <emphasis>mbean</emphasis> graphs are now viewable through the <emphasis>web-console</emphasis>.
 						</para>
 					</listitem>
@@ -539,7 +572,15 @@
 				<itemizedlist>
 					<listitem>
 						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1971">JBPAPP-1971</ulink>: The JBoss Web Services component of the Enterprise Application Platform has been upgraded to version 1.2.1.GA_CP05. A list of the included fixes is as follows:
 						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1972">JBPAPP-1972</ulink>: MIME boundaries in the <classname>MultipartRelatedDecoder</classname> were handled incorrectly. This bug has been fixed by modifying the <classname>MultipartRelatedDecoder</classname> class to use a new instance of the <classname>PushbackInputStream</classname> in the creation of the <classname>BoundaryDelimitedInputStream</classname>.
+								</para>
+							</listitem>
+						</itemizedlist>
 					</listitem>
 				</itemizedlist> 
 			</para>
@@ -613,63 +654,582 @@
 				<itemizedlist>
 					<listitem>
 						<para>
-							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1930">JBPAPP-1930</ulink>: A <exceptionname>NullPointerException</exceptionname> would occur when a native SQL query coupled eager fetching with a many-to-many relationship. Correcting this has beant that the <code>if ( collectionPersister.isOneToMany() ) {</code> line of code in the <filename>SQLQueryReturnProcessor</filename> file has been changed to <code>if ( collectionPersister.isOneToMany() || collectionPersister.isManyToMany()) {</code>, removing the generation of a <exceptionname>NullPointerException</exceptionname>. To note though is that the fix only works with the <filename>hbm.xml</filename> file SQL mapping feature and a named query.
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2118">JBPAPP-2118</ulink>: The Hibernate EntityManager component of the Enterprise Application Platform has been upgraded to version 3.3.2. A list of the included fixes is as follows:
 						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-341">EJB-341</ulink>: If a user attempted to create a named query that did not exist, a <exceptionname>PersistenceException</exceptionname> would be generated where an <exceptionname>IllegalArgumentException</exceptionname> should have been raised, and the current transaction would be rolled back. The <classname>AbstractEntityManagerImpl</classname> class has been updated to catch the <exceptionname>MappingException</exceptionname> and return an <exceptionname>IllegalArgumentException</exceptionname> to the user, as well as attempt to return a new named query using <classname>QueryImpl</classname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-340">EJB-340</ulink>: The <methodname>onLoad</methodname> method was not invoked on an <classname>EJB3Interceptor</classname>, though it was in the basic Hibernate environment. This issue has been fixed by editing the <classname>EventListenerConfigurator</classname> class to include the default Hibernate Core <classname>PreLoadEventListener</classname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-333">EJB-333</ulink>: A space was present in the path during deployment within the JBoss Eneterprise Application Platform and this space would cause an error. In order to fix this, the <classname>ExplodedJarVisitor</classname>, <classname>FileZippedJarVisitor</classname> and <classname>JarVisitorFactory</classname> classes have been updated to cater for a space in a java URL file name.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-330">EJB-330</ulink>: If the <classname>Ejb3Configuration</classname> had classes that contained <property>@PostLoad</property> callbacks and had been added with the <methodname>addAnnotatedClass</methodname> method, these would no longer work if the <methodname>configure</methodname> method was executed before the addition of <classname>@Entity-annotated</classname> classes, through the use of the <methodname>addAnnotatedClass</methodname> method. This bug has been fixed by delaying the call to the <methodname>configure</methodname> method in order to allow for the correct addition of all annotated classes.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-326">EJB-326</ulink>: The persistence unit root that exists in a <filename>.war</filename> file was not being correctly handled. This issues has been fixed by changing the way in which the EJB3 submits the persistence root URL to Hibernate. 
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-325">EJB-325</ulink>: The <classname>Ejb3Configuration</classname> class has been updated to ensure that <exceptionname>PersistenceExceptions</exceptionname> state the <classname>persistenceUnit</classname> that is generating the exception.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-316">EJB-316</ulink>: The <property>PERSISTENCE_PROVIDER</property> string should be coded as a <property>final</property> string type. The <classname>Persistence</classname> class has been updated for this release to include the <property>PERSISTENCE_PROVIDER</property> string as a <property>final</property> string type.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-305">EJB-305</ulink>: As a new feature, a configuration option has been added that grants the ability to define a session scoped interceptor through the use of the <property>hibernate.ejb.interceptor.session_scoped</property> property.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-299">EJB-299</ulink>: If a <property>package-info.class</property> attribute existed within the default package the <methodname>JarVisitor.addElement</methodname> method would fail and generate a <exceptionname>StringIndexOutOfBoundsException</exceptionname>. Updating the <classname>AbstractJarVisitor</classname> class so that if the name length of the entry is set it the length of the <property>package-info.class</property> attribute, the name is left blank, otherwise the name property is the length of the entries specified name.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-284">EJB-284</ulink>: A bug existed within the <classname>ArchiveBrowser</classname> where it would not abstract a file path for <filename>orm.xml</filename> correctly when Hibernate was run on the Windows opperating system. In this new version of Hibernate EntityManager, the ArchiveBrowser has been replaced with the <classname>JarVisitor</classname>. This process has caused this issue to be fixed.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-282">EJB-282</ulink>: The <filename>ORM.xml</filename> file was being ignored when the <property>excludeUnlistedClass</property> property was set to <emphasis>true</emphasis> in the container mode. This bug has been rectified by modifying the <classname>Ejb3Configuration</classname> class to ensure that the <filename>ORM.xml</filename> file is searched even when the <property>excludeUnlistedClass</property> property is set to <emphasis>true</emphasis>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-277">EJB-277</ulink>: String values could not be used as query hint values within Hibernate. This functionality has now been added to Hibernate EntityManager by modifying the <classname>ConfigurationHelper</classname> class to accept string values and the <classname>QueryImpl</classname> class to utilize these changes.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-275">EJB-275</ulink>: Since IBM WebSphere does now return an encoded URL from the <methodname>cl.getResources</methodname> method, the <classname>JarVisitor</classname> would fail due to white space errors. The <classname>JarVisitor</classname> class has now been updated to ensure that URLs returned by IBM WebSphere is striped of any white space that may cause the program to produce an error.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-271">EJB-271</ulink>: The <classname>EJB3OverridenAnnotationReader</classname> class has been improved by raising a warning when deployment descriptors refer to an unknown property. This has been achieved by checking for orphan properties.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-269">EJB-269</ulink>: Hibernate EntityManager would fail to deploy a persistence archive in the <emphasis>Weblogic Server</emphasis>. This issue has been rectified by including a <filename>.jar file</filename> for archive browser handling for the <emphasis>Weblogic Server</emphasis>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-266">EJB-266</ulink>: Hibernate would initialize lazy objects that were being traversed by the <methodname>persist</methodname> operation. This release sees the Hibernate EntityManager avoid collection loading during a cascaded <methodname>persist</methodname>, allowing for increased performance on heavily cascaded object graphs.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-263">EJB-263</ulink>: Within the <classname>QueryImpl</classname> class, elements were not being made unique before <methodname>getSingleResult</methodname> method exceptions were being raised. This allowed for a <exceptionname>NonUniqueResultException</exceptionname> to be generated incorrectly. For this release, elements within the <classname>QueryImpl</classname> class are now made unique before any <methodname>getSingleResult</methodname> method exceptions are raised.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-262">EJB-262</ulink>: An improvement has been made to the <classname>Ejb3Configuration</classname> class that provides the XML file name when a parsing error occurs. In completing this task the new class <classname>NamedInputStream</classname> has been created.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-259">EJB-259</ulink>: <filename>ORM.xml</filename> files that appear in any referecend <filename>.jar</filename> files were not evaluated by Hibernate EntityManager. In order to be in line with the EJB3 specifications, the <classname>Ejb3Configuration</classname> class has been updated to make sure all <filename>ORM.xml</filename> files are evaluated.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-257">EJB-257</ulink>: The <classname>EJB3Configuration</classname> class should be able to work successfully without needing to use any <methodname>configure</methodname> methods. This update allows for the <classname>EJB3Configuration</classname> class to work correctly without the need for any <methodname>configure</methodname> methods by copying the programmatically defined properties and using them with the new <classname>AnnotationConfiguration</classname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-242">EJB-242</ulink>: The <classname>InputStreamZippedJarVisitor</classname> class has been updated to produce an exception instead of an IO exception so that Eclipse does not produce a <exceptionname>NullPointerException</exceptionname> but instead just logs a warning message. This allows for Hibernate and Eclipse to function easier together.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/EJB-46">EJB-46</ulink>: The <methodname>PrePersist</methodname> callback method was not being utilized if the <property>primary key</property> of the entity was set to null. The way in which the Hibernate EntityManager would operate when a <property>primary key</property> of the entity was set to null has been changed so that the <methodname>PrePersist</methodname> callback method can be correctly utilized.
+								</para>
+							</listitem>
+						</itemizedlist>
 					</listitem>
 					<listitem>
 						<para>
-							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1922">JBPAPP-1922</ulink>: A bottleneck existed within the <filename>EntityModeToTuplizerMapping.java</filename> file when a high number of threads attempted to initialize sets and had to wait for the same monitor. In correcting this issue, the <filename>EntityModeToTuplizerMapping.java</filename> file has been modified to removie the <code>private final Map tuplizers = Collections.synchronizedMap( new SequencedHashMap() ); </code> line of code and replace it with only <code>private final Map tuplizers;</code> and two new public methods to assist in the mapping.
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2110">JBPAPP-2110</ulink>: The Hibernate Validator component of the Enterprise Application Platform has been upgraded to version 3.0.0. A list of the included fixes is as follows:
 						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-10">HV-10</ulink>: The Luhn algorithm has been implemented in Hibernate Validator and the <classname>@CreditCardNumber</classname> interface created. The Luhn algorithm implementation requires a valid credit card number and checks for user error. This class does not check for credit card validity.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-9">HV-9</ulink>: The <classname>@Digits</classname> interface has been added to Hibernate Validator. This interface allows for digits to be expressed as integers and fractions. This new interface resides within the <filename>Digits.java</filename> file.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-8">HV-8</ulink>: Hibernate Validator now supports pure <emphasis>JavaPersistence</emphasis> players. Though when used through <classname>EntityListeners</classname>, parameters such as <property>interpolator</property> are not supported due to the listener lifecycle not being defined and no avenue exists to pass the PU properties.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-7">HV-7</ulink>: Two level <property>@Valid</property> annotation did not work as a user would have expected. A <exceptionname>NullPointerException</exceptionname> would be generated when initialization occured in the <classname>ClassValidator</classname>. This bug has since been fixed by initializing the <classname>reflectionManager</classname> within the <classname>ClassValidator</classname> constructor.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-6">HV-6</ulink>: The <property>@EAN</property> annotation type has been added to Hibernate Validator. This element checks if the string is a correctly formated EAN-13 or UPC-A code; it does not check for number validity.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-5">HV-5</ulink>: The ability to have multiple validators of the same type for each element has been added to Hibernate Validator. Though Hibernate Validator could already achieve this functionality to an extent, this improvement allows for greater ease of use for the user.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-3">HV-3</ulink>: The <property>@Email</property> validating string would fail if the string contained a null value. The <classname>EmailValidator</classname> class has been modified to include checking for a null value and to handle this case correctly so that the validation does not fail.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-2">HV-2</ulink>: String suport for both <property>@Past</property> and <property>@Future</property> validating Strings has been deprecated as there was no absolute way to be sure of the date and time format or the locale that may be used.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HV-1">HV-1</ulink>: A new feature has been added to Hibernate Validator that sets the <classname>ClassValidator</classname> as being independ of Hibernate Annotations. This ensures that if a users wishes, Hibernate Validator does not have to be used with Hibernate Annotations. 
+								</para>
+							</listitem>
+						</itemizedlist>
 					</listitem>
 					<listitem>
 						<para>
-							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1859">JBPAPP-1859</ulink>: The <classname>ManyToOneJoinTest</classname> distributed with Hibernate would fail because a primary key would be set on a <code>nullable</code> column. The <filename>OneToOneSecondPass.java</filename> file has been modified to use the <methodname>buildJoinFromMappedBySide</methodname> method instead of the <methodname>buildJoin</methodname> method. Inacting this change has meant that the calls to the <methodname>join.createPrimaryKey()</methodname> and <methodname>join.createForeignKey()</methodname> methods within this file have also been removed.
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2118">JBPAPP-2037</ulink>: The Hibernate Core component of the Enterprise Application Platform has been upgraded to version 3.2.4.SP1_CP08. A list of the included fixes is as follows:
 						</para>
-					</listitem>
-					<listitem>
-						<para>
-							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1797">JBPAPP-1797</ulink>: Transient entities could be inserted twice when a merge was performed. To correct this bug the <filename>DefaultMergeEventListener.java</filename> file has been updated to use the new <classname>CopyCache</classname> class. Within the <filename>DefaultMergeEventListener.java</filename> file, logic has been added to retrieve transient entities and retry a merge once if an error is encountered. Following this, if the merge continues unsuccessfully a <exceptionname>TransientObjectException</exceptionname> will be generated. The <classname>CopyCache</classname> class has been created to be the <varname>Map</varname> implementation used by <classname>DefaultMergeEventListener</classname> in order to keep track of entities and the copies that are being merged into the session. This implementation also tracks whether a an entity in the <classname>CopyCache</classname> is included in the merge.
-						</para>
-					</listitem>
-					<listitem>
-						<para>
-							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1748">JBPAPP-1748</ulink>: When merging read-only entities that had the <varname>@Immutable</varname> annotation included the following failure would occur:
-						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1930">JBPAPP-1930</ulink>: A <exceptionname>NullPointerException</exceptionname> would occur when a native SQL query coupled eager fetching with a many-to-many relationship. Correcting this has beant that the <code>if ( collectionPersister.isOneToMany() ) {</code> line of code in the <filename>SQLQueryReturnProcessor</filename> file has been changed to <code>if ( collectionPersister.isOneToMany() || collectionPersister.isManyToMany()) {</code>, removing the generation of a <exceptionname>NullPointerException</exceptionname>. To note though is that the fix only works with the <filename>hbm.xml</filename> file SQL mapping feature and a named query.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1922">JBPAPP-1922</ulink>: A bottleneck existed within the <filename>EntityModeToTuplizerMapping.java</filename> file when a high number of threads attempted to initialize sets and had to wait for the same monitor. In correcting this issue, the <filename>EntityModeToTuplizerMapping.java</filename> file has been modified to removie the <code>private final Map tuplizers = Collections.synchronizedMap( new SequencedHashMap() ); </code> line of code and replace it with only <code>private final Map tuplizers;</code> and two new public methods to assist in the mapping.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1797">JBPAPP-1797</ulink>: Transient entities could be inserted twice when a merge was performed. To correct this bug the <filename>DefaultMergeEventListener.java</filename> file has been updated to use the new <classname>CopyCache</classname> class. Within the <filename>DefaultMergeEventListener.java</filename> file, logic has been added to retrieve transient entities and retry a merge once if an error is encountered. Following this, if the merge continues unsuccessfully a <exceptionname>TransientObjectException</exceptionname> will be generated. The <classname>CopyCache</classname> class has been created to be the <varname>Map</varname> implementation used by <classname>DefaultMergeEventListener</classname> in order to keep track of entities and the copies that are being merged into the session. This implementation also tracks whether a an entity in the <classname>CopyCache</classname> is included in the merge.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1748">JBPAPP-1748</ulink>: When merging read-only entities that had the <varname>@Immutable</varname> annotation included the following failure would occur:
+								</para>
 <screen>	
 org.hibernate.AssertionFailure: Merged entity does not have status set to MANAGED; EntityEntry[com.tll.model.impl.AccountHistory#71794688](READ_ONLY) status=READ_ONLY 
 </screen>
-						<para>
-							The <filename>DefaultMergeEventListener.java</filename> file has been updated by editing the following test statement: 
-						</para>
+								<para>
+									The <filename>DefaultMergeEventListener.java</filename> file has been updated by editing the following test statement: 
+								</para>
 <programlisting>
 if ( entry.getStatus() != Status.MANAGED ) {
 	throw new AssertionFailure( "Merged entity does not have status set to MANAGED; "+entry+" status="+entry.getStatus() );
 }
 </programlisting>
-						<para>
-							modified to test against the possibility that the current <varname>Status</varname> could be <property>READ_ONLY</property>:
-						</para>
+								<para>
+									modified to test against the possibility that the current <varname>Status</varname> could be <property>READ_ONLY</property>:
+								</para>
 <programlisting>
 if ( entry.getStatus() != Status.MANAGED &amp;&amp; entry.getStatus() != Status.READ_ONLY ) {
 	throw new AssertionFailure( "Merged entity does not have status set to MANAGED or READ_ONLY; "+entry+" status="+entry.getStatus() );
-}</programlisting>
+}
+</programlisting>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1564">JBPAPP-1564</ulink>: The SQL <methodname>trim</methodname> function and support for <property>mod</property> and <property>bit_length</property> were not present in the Sybase Dialect. This release sees these avaliable for use within the <filename>SybaseASE15Dialect</filename>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1563">JBPAPP-1563</ulink>: The SQL functions <function>mod</function>, <function>bit_length</function> and <function>trim</function> caused faulures in the <classname>ASTParserLoadingTest</classname> because they were not implemented in the Sybase Dialect. The Sybase Dialect has now been updated to import the <classname>org.hibernate.dialect.function.AnsiTrimEmulationFunction</classname> function and implement the <function>mod</function>, <function>bit_length</function> and <function>trim</function> functions.
+								</para>
+							</listitem>
+						</itemizedlist>
 					</listitem>
 					<listitem>
 						<para>
-							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1564">JBPAPP-1564</ulink>: The SQL <methodname>trim</methodname> function and support for <property>mod</property> and <property>bit_length</property> were not present in the Sybase Dialect. This release sees these avaliable for use within the <filename>SybaseASE15Dialect</filename>.
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2078">JBPAPP-2078</ulink>: The Hibernate Annotations component of the Enterprise Application Platform has been upgraded to version 3.3.1. A list of the included fixes is as follows:
 						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-701">ANN-701</ulink>: The error message given when using the <property>@CollectionId</property> property incorrectly did not give useful information to the user. Correcting this, the <filename>CollectionBinder.java</filename> file has been updated to generate an exception with all relevant information given the improper use of the <property>@CollectionId</property> property for individual cases.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-700">ANN-700</ulink>: The <classname>NamedQuery</classname> class of Hibernate had the <property>flushMode</property> attribute set to <property>AUTO</property> by default. This caused inconsistencies throught the program and the <property>flushMode</property> attribute to never contain the correct value. To correct this the default value of the <property>flushMode</property> attribute is now set to a newly introduced <property>PERSISTENCE_CONTEXT</property>. This new value makes sure that the <property>flushMode</property> is consistent with the persistence context at the time the query is executed, alleviating inconsistency issues.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-699">ANN-699</ulink>: The <methodname>AnnotationBinder.mustBeSkipped</methodname> contains a hardcoded reference to the <classname>org.hibernate.tool.instrument.javassist.FieldHandler</classname> class. The issue that arises from this is that the class is actually contained within a different package and by having the incorrect reference it caused all <classname>javassist-instrumented</classname> classes to not function correctly. In order to rectify this issue the reference to the <classname>FieldHandler</classname> class has been changed within the <methodname>AnnotationBinder.mustBeSkipped</methodname> method to be <classname>org.hibernate.bytecode.javassist.FieldHandler</classname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-698">ANN-698</ulink>: Having an unbound property when default field access is used would lead to an unbound <exceptionname>AnnotationException</exceptionname>. The generated exception is now caught by the program and a more meaningful <exceptionname>AnnotationException</exceptionname> is generated and displayed to the user instead. These changes have been made to the <classname>AnnotationBinder</classname> class.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-696">ANN-696</ulink>: When a Hibernate map existed that had both <property>key</property> and <property>value</property> elements, the <property>@Type</property> annotation would affect both. To generate desired results the <filename>MapBinder.java</filename> and <filename>MapKey.java</filename> files have ben updated to include and use a <classname>MapKey</classname> <property>@Type</property>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-695">ANN-695</ulink>: New Hibernate Search collection even listeners have been inegrated with the addition of the new classes <classname>CollectionSearchConfiguration</classname> and <classname>SearchConfiguration</classname>, and the ammendment of the <classname>AnnotationConfiguration</classname> class to use the new <classname>SearchConfiguration</classname> class instead of embedding the search functionality within the <classname>AnnotationConfiguration</classname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-694">ANN-694</ulink>: An incorrect report of a Foreign Key circularity error was occuring when the <property>@*ToOne</property> property name started with the identifier property name. The issue has been fixed by modifying the <filename>ToOneFkSecondPass.java</filename> file to make the <methodname>ToOneFkSecondPass</methodname> method a public method.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-690">ANN-690</ulink>: Previous releases did not allow for method chaining within the <classname>AnnotationConfiguration</classname> class. This functionality has now been added by overriding all relevant configuration methods that reside within the <classname>AnnotationConfiguration</classname> class.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-683">ANN-683</ulink>: When <property>hashCode</property> collisions occurred within <classname>AnnotationConfiguration</classname>, random binding failures would occur. To fix this issue, the <filename>FkSecondPass.java</filename> file has been updated to use a unique counter in order to differenciate between two instances of <classname>FkSecondPass</classname> so that they can be compared as the IBM VM would sometimes return the same <varname>hashCode</varname> for two different objects. The <filename>AnnotationConfiguration.java</filename> file has also been updated to utilize the changes made to <filename>FkSecondPass.java</filename>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-673">ANN-673</ulink>: <classname>AnnotationConfiguration</classname> did not define stable ordering for foreign key columns, allowing them to appear in any order within a generated SQL schema. Also of issue was when the <classname>hbm2ddl</classname> tool was being used to see a generated schema. The ordering of a foreign key column within a table could change if an unrelated modification was made inside the mapping of a different table. This issue was fixed by the solution for <emphasis>ANN-683</emphasis> that is specified within these release notes.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-671">ANN-671</ulink>: When the <classname>Validator</classname> was not present, a message describing this would be logged, however this would occur twice. In this update the <classname>AnnotationConfiguration</classname> class has been modified to only log the occurance of this once for each time.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-653">ANN-653</ulink>: The ability to use <property>@AssociationOverride</property> when overriding a collection delivered undesired results in the form of an exception. This functionality has now been fixed and works as expected.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-650">ANN-650</ulink>: In previous versions the <classname>@Version</classname> class could be set withih an <classname>@Embedded</classname> class without any checking and generate a <exceptionname>java.lang.ArrayIndexOutOfBoundsException</exceptionname> that would not display enough detail about the error for a user to understand the cause. This has since be altered to check for this occurance and generate an <exceptionname>AnnotationException</exceptionname> with useful information so that a user can correct any issues.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-648">ANN-648</ulink>: The <methodname>o.h.a.Table.comment</methodname> and <methodname>o.h.a.Table.indexes</methodname> methods would fail when used on secondary tables. To correct this issue the <classname>SecondaryTableSecondPass</classname> class has been updated to use the <classname>XAnnotatedElement</classname> class and the <classname>EntityBinder</classname> class now sets the secondary table as the first for when a join needs to occur.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-637">ANN-637</ulink>: The <methodname>Table.appliesTo</methodname> method would incorrectly select the last table when no matching table to the user query exists. This bug has been fixed by allowing the <varname>hibTable</varname> variable within the <classname>EntityBinder</classname> class to contain a value of null when the correct table cannot be found.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-634">ANN-634</ulink>: The <property>@CollectionOfElements</property> property would clash with the <property>@Fetch JOIN</property>, <property>@Filter</property> and <property>@Where</property> properties within the <classname>CollectionBinder</classname> class. The class has now been updated to test for the instance of a <property>SimpleValue</property> in the <property>@CollectionOfElements</property> property, correcting the issue.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-633">ANN-633</ulink>: The <filename>MANIFEST.MF</filename> file in the <filename>hibernate-annotation</filename> JAR file has been improved to contain vendor and versioning information using the default attributes defined in the JAR file specification.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-621">ANN-621</ulink>: A problem was being caused by the embedded primary key for <classname>ManyToOne</classname> associates containing only transient member variables. This was corrected by adding <property>getter</property> and <property>setter</property> accessors for the respective ID fields and setting both <property>insertable</property> and <property>updatable</property> properties to false.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-619">ANN-619</ulink>: When <classname>@OneToOne</classname> was placed within a composite key, the Hibernate application would generate an <exceptionname>ExceptionInInitializerError</exceptionname>. This has been fixed by recoding how a user application that does not use a true <classname>OneToOne</classname> relationshipis tested.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-617">ANN-617</ulink>: A <exceptionname>NullPointerException</exceptionname> would occur when a property of a composite ID would be used for ordering. This bug has been fixed by modifying the <classname>CollectionBinder</classname> class to check if the <classname>PersistentClass</classname> is null before checking if it is not an <property>associatedClass</property>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-613">ANN-613</ulink>: A <exceptionname>NullPointerException</exceptionname> would be generated when the <property>mappedBy</property> property was incorrect in a <classname>@OneToOne</classname> mapping. In order to make sure a <exceptionname>NullPointerException</exceptionname> does not occur, when the <property>otherSideProperty</property> parameter contains a null vale within the <classname>OneToOneSecondPass</classname> class, an <exceptionname>AnnotationException</exceptionname> is generated detailing that the <property>mappedBy</property> property is incorrect and where.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-608">ANN-608</ulink>: A bug existed within the <classname>EJB3OverridenAnnotationReader</classname> class where the <classname>annotationsMap</classname> would not be correctly initialized, causing a <exceptionname>NullPointerException</exceptionname> in the <classname>AnnotationConfiguration</classname> class. The issue has been fixed by modifying the <filename>EJB3OverridenAnnotationReader.java</filename> file to remove an internal <classname>Annotation</classname> <code>for</code> loop and replace it with the code <code>annotationsMap = new HashMap&lt;Class, Annotation&gt;( annotations.length + 5 );</code> instead. This change now allows for the <classname>annotationsMap</classname> to be correctly initialized.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-606">ANN-606</ulink>: The <property>@Immutable</property> annotation would not generate a configuration error or warning when used on a subclass. When <property>@Immutable</property> is not used on a root entity, a warning is now generated to inform the user of this incorrect behavior.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-602">ANN-602</ulink>: Any <classname>SecondaryTable</classname> with an <classname>EmbeddedId</classname> or <classname>IdClass</classname> containing a <property>ManyToOne</property> attribute would error. In order to fix this a new <classname>SecondaryTableSecondPass</classname> class has been created and the <classname>AnnotationConfiguration</classname> and <classname>AnnotationBinder</classname> classes have been updated to make use of the new class since associations can be built on joins. Implementing these changes causes the <classname>SecondaryTable</classname> class to behave as a user would expect.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-590">ANN-590</ulink>: An alphabetical ordering issue caused errors when the <property>@ManyToOne</property> and <property>referencedColumnName</property> properties were being used in the <classname>PrimaryKey</classname>. To correct this the <filename>ToOneFkSecondPass.java</filename> file was updated to try using an embedded property for a <classname>persistentClass</classname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-567">ANN-567</ulink>: No avenue existed to set the <property>collectionPersister</property> property on a <classname>Collection</classname> via Annotations. The functionality to be able to achieve this has now been added for this release.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-560">ANN-560</ulink>: Quoting issues existed with the default values in the <classname>NamingStrategy</classname> interface. In order to rectify this, the <filename>Ejb3JoinColumn.java</filename> and <filename>TableBinder.java</filename> files have been updated to quote the result and unquote the source before any other action is taken if the source is quoted.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-559">ANN-559</ulink>: An undefined filter definition would lead to a <exceptionname>NullPointerException</exceptionname> instead of generating a meaningful exception. This has been changed for the release so that this circumstance does not arise, instead a default filter definition is applied if one is undefined.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-556">ANN-556</ulink>: The <property>@OneToOne</property> relationship relied on strict alphebetical ordering that caused the <property>mappedBy</property> property to fail. The <classname>AnnotationBinder</classname> and <classname>AnnotationConfiguration</classname> classes have been updated to make sure that the <classname>OneToManySecondPass</classname> is processed in order.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-555">ANN-555</ulink>: A typo existed within the <classname>Tables</classname> class whereby the interface declaration contained <code>Table[] values();</code> instead of <code>Table[] value();</code>. This small bug has been fixed for this release, allowing the <methodname>Tables.value</methodname> method to function correctly.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-554">ANN-554</ulink>: A <exceptionname>NullPointerException</exceptionname> would be generated when the <property>@Id</property> property was used on a <property>@OneToOne</property> relationship. Correction of this bug has been handled by modifying the <classname>OneToOneSecondPass</classname> class to avoid a <exceptionname>NullPointerException</exceptionname> in this case and instead generate a meaningful <exceptionname>AnnotationException</exceptionname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-553">ANN-553</ulink>: The classpath dependency (<filename>hibernate-validator.jar)</filename> file between Hibernate Annotations and Hibernate Validator has been removed and the <filename>ejb3-persistence.jar</filename> file has become a required dependency.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-552">ANN-552</ulink>: A major new feature for Hibernate Annotations is the transparent event registration and intergration for Hibernate Search and Hibernate Validator if they are in the classpath.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-551">ANN-551</ulink>: Columns in a SQL insert query have to be ordered in the same way that Hibernate internally sorts its properties in order for the query to be successful. This was an issue for users as some would use numerious application servers, all of which would order these properties in different ways. The issue has been solved by modifying the <classname>AnnotationBinder</classname> class so that the parameters of a query are ordered internally to the order that Hibernate supports.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-549">ANN-549</ulink>: When an association table is involved in a table join, the key column would be set to null. The correct behavior is to have this key column forced to be not null. This has been achieved by modifying the <classname>MapBinder</classname> class to test if the collection is anything but a <property>OneToMany</property> relationship then the key column should not be null.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-544">ANN-544</ulink>: The <classname>CollectionBinder</classname> class used the <methodname>setCustomSQLDelete</methodname> method when testing if the <methodname>sqlDeleteAll</methodname> method was not null. This would prevent the execution of the <methodname>col.clear</methodname> method on the collection in the case that all the elements are removed. The functionality of <classname>CollectionBinder</classname> has been updated to now use the <methodname>setCustomSQLDeleteAll</methodname> method to ensure correct operation.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-542">ANN-542</ulink>: The <property>@Immutable</property> annotation has been added for entities and collections. This has seen the modification of the <classname>CollectionBinder</classname> and <classname>EntityBinder</classname> classes, as well as the addition of the new <classname>Immutable</classname> class.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-535">ANN-535</ulink>: When the <property>@Generated</property> annotation is used, the ability to insert and update a property should be forced. This improvement has been made to Hibernate Annotations through modification of the <classname>PropertyBinder</classname> class.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-532">ANN-532</ulink>: The exception handling of the <property>@UniqueConstraint</property> has been improved for cases when it refers to an incorrect column name. This has been achieved through the modification of the <classname>AnnotationConfiguration</classname> and <classname>Mappings</classname> classes.
+								</para>
+							</listitem>
+							<!--	<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-531">ANN-531</ulink>: XML deserialization of an entity would only deserialize the ID and not the child properties.
+								</para>
+							</listitem> -->
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-529">ANN-529</ulink>: Hibernate used the optional keyword <emphasis>as</emphasis> in the from clause within the <classname>MapBinder</classname> class. This behavior caused Hibernate Annotations to not be compatable with Oracle 10g. The optional keyword is now removed from the from clause and Hibernate Annotations is successfully compatable with Oragle 10g.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-525">ANN-525</ulink>: The <property>@ForeignKey</property> annotation that is used to specify readable names to foreign key constraints could not be applied at the class level and so could not be utilized in providing readable names to constrints between the super and sub classes using the <property>InheritanceType.JOINED</property> property. In this release the <property>@ForeignKey</property> annotation is now supported at the class level for all joined subclasses and is an attribute of the <classname>o.h.a.Table</classname> for secondary tables.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-517">ANN-517</ulink>: The <varname>EntityMode.DOM4J</varname> value would only work when a <filename>.hbm.xml</filename> mapping file is create and could not be used when only Hibernate Annotations was being used in business entities. The <classname>EntityBinder</classname>, <classname>PropertyBinder</classname> and <classname>CollectionBinder</classname> classes have been updated so that they call the <methodname>setNodeName</methodname> method. The error was that this was not being done by the <classname>AnnotationBinder</classname>, causing the <classname>Dom4j</classname> tuplizer to not be instantiated when only Hibernate Annotations was being used.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-516">ANN-516</ulink>: The <property>@OrderBy</property> attribute would be added to the incorrect table when used in an inheritance relationship. Condition testing has been added to the <classname>CollectionBinder</classname> class, ensuring that if the tables <classname>PersistentClass</classname> does not contain a value of <varname>associatedClass</varname>, the tables quoted name is retrieved; otherwise the table is assumed to be empty.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-515">ANN-515</ulink>: Fields were not correctly quoted in a <property>@OneToMany</property> relationship when they were specified, leading to a <exceptionname>SQLGrammarException</exceptionname>. The <filename>Ejb3JoinColumn.java</filename> file has been amended to use the method <methodname>column.getQuotedName</methodname> in the <methodname>linkValueUsingAColumnCopy</methodname> method, instead of <methodname>column.getName</methodname>.									</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-509">ANN-509</ulink>: Using a foreign key value for the <property>referecedColumnName</property> value would cause a <exceptionname>MappingException</exceptionname> to occur. The reason for this issue has stemed through the need for correct ordering of steps and to fix this a <classname>RecoverableException</classname> class has been created which is used to catch the exception and allow the program to perform passes to assist in correcting the issue. If however this is unsuccessful then the loop is exited and the original exception is displayed to the user.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-505">ANN-505</ulink>: Support for the <property>@Tuplizer</property> annotation and interface annotations has been added to Hibernate Annotations. A tupilizer manages a particular representation of a piece of data, given the <property>EntityMode</property> of the representation.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-502">ANN-502</ulink>: Intergration with Hibernate Validator was not completely possible as it is used in metamodel construction and could not be disabled. In order to allow for this functionality the <property>hibernate.validator.apply_to_ddl</property> has been added and can be set to false to remove Hibernate Validator intergration with metamodel construction.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-444">ANN-444</ulink>: In Hibernate Core, the <code>&lt;join&gt;</code> tag in <filename>.hbm.xml</filename> files contain an attribute called <property>optional</property> that allows for configuration of Hibernate to either use inner joins or outer joins, however this same functionality was not included in Hibernate Annotations. This feature has now been added to Hibernate Annotations through the modification of the <classname>EntityBinder</classname> and <classname>Table</classname> classes.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-442">ANN-442</ulink>: Support for more than one generic generator in the <filename>package-info.java</filename> file has been added by adding the new <classname>GenericGenerators</classname> interface, and updating the <classname>AnnotationBinder</classname> to incorporate the use of the new interface.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-434">ANN-434</ulink>:  The exception that was generated when attempting to create an entity with an <classname>EmbeddedId</classname> and automatically generated IDs did not give useful information to a user. This has been corrected by modifying the <classname>AnnotationBinder</classname> class to generate an <exceptionname>AnnotationException</exceptionname> that outputs the class name of the component with information explaining that this class must not have <classname>ID</classname> properties when used as an <classname>EmbeddedID</classname>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-252">ANN-252</ulink>: The <classname>AnnotationConfiguration</classname> class would ignore classes that were annotated with an incorrect <property>Entity</property> or contained no annotation. The <classname>AnnotationBinder</classname> class has been updated to log a warning message if any of the mentioned circumstances occurs.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-122">ANN-122</ulink>: The <property>@NaturalId</property> annotation that was added to Hibernate previously, has now been added to Hibernate Annotations. This allows for a property to be specified as part of the natural id of an entity.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-104">ANN-104</ulink>: CRUD SQL customization is now allowed on secondary tables within Hibernate Annotations.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-103">ANN-103</ulink>: The ability to specify a fetching strategy for a secondary table has been added to Hibernate Annotations. 
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-28">ANN-28</ulink>: The <property>@Any</property> and <property>@ManyToAny</property> mapping values have been added as a new feature to Hibernate Annotations. With these features added, it allows for a more robust and diverse database environment.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-26">ANN-26</ulink>: Support for the ability to exculde a property from the optimistic locking has been added to Hibernate Annotations. 
+								</para>
+							</listitem>
+						</itemizedlist>
 					</listitem>
-					<listitem>
+					<!--	<listitem>
 						<para>
-							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1563">JBPAPP-1563</ulink>: The SQL functions <function>mod</function>, <function>bit_length</function> and <function>trim</function> caused faulures in the <classname>ASTParserLoadingTest</classname> because they were not implemented in the Sybase Dialect. The Sybase Dialect has now been updated to import the <classname>org.hibernate.dialect.function.AnsiTrimEmulationFunction</classname> function and implement the <function>mod</function>, <function>bit_length</function> and <function>trim</function> functions.
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1998">JBPAPP-1998</ulink>: The incorrect exception (<exceptionname>EntityNotFoundException</exceptionname>) was being generated for an optimistic locking failure due to a deleted entity using the <property>hibernate.jdbc.batch_versioned_data=false</property> property and value. To correct this a <emphasis>try and catch</emphasis> test has been added to the <methodname>AbstractEntityManagerImpl.wrapStaleStateException</methodname> method in order to catch the <exceptionname>EntityNotFoundException</exceptionname> exception and display the correct <exceptionname>OptimisticLockException</exceptionname> exception instead.
 						</para>
-					</listitem>
+					</listitem> -->
 					<listitem>
 						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2032">JBPAPP-2032</ulink>: The Hibernate Annotations upgrade that has occured between the last JBoss Enterprise Application Platform Cummulative Patch and this one may cause backwards-compatibility issues for some users due to the changes introduced to applications that use <classname>SchemaExport</classname> in production. The following instances are circumstances where an issue may arise:
+						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									Users who rely on the <classname>hbm2ddl</classname> component of Hibernate Annotations must now check their manually created indexes as there is a high possibility that the order of these will have to change to avoid a performance penalty. An example of this would be that if the index was B, A and Hibernate Annotations now queries based on A, B then the index will not be used.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Users who rely on custom Hibernate CRUD operations are required to manually check if their SQL is up-to-date. An example of when this would be required is if a user has a table with the structure NAME(string), FK1(int), FK2(int) and the FK's point to a table which has overlapping or the same ID set. With this Hibernate Annotations upgrade it is now assumed that the structure is NAME(string), FK2(int), FK1(int). This change will not cause CRUD operations to fail at runtime but the semantics of the update will be incorrect. 
+								</para>
+							</listitem>
+						</itemizedlist>
+						<warning>
 							<para>
-								<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1081">JBPAPP-1081</ulink>: In the Entity Manager documentation it is stated that table aliases are supported in <code>update</code> clauses, however using table alias' in an update query causes a program failure. In order to correct this the  <filename>QueryTest.java</filename> file has been updated with the removal for the allowance of table alias'.
+								If these concerns are not addressed by affected users then noticable data consistencies and performance issues may arise. The new configuration parameter <property>hibernate.legacy.foreignkey.use_identity_hashcode_to_compare</property> should also not be utilised as it will restore indeterminate behaviour.
 							</para>
+						</warning>
 					</listitem>
+					<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1859">JBPAPP-1859</ulink>: The <classname>ManyToOneJoinTest</classname> distributed with Hibernate would fail because a primary key would be set on a <code>nullable</code> column. The <filename>OneToOneSecondPass.java</filename> file has been modified to use the <methodname>buildJoinFromMappedBySide</methodname> method instead of the <methodname>buildJoin</methodname> method. Inacting this change has meant that the calls to the <methodname>join.createPrimaryKey()</methodname> and <methodname>join.createForeignKey()</methodname> methods within this file have also been removed.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1081">JBPAPP-1081</ulink>: In the Entity Manager documentation it is stated that table aliases are supported in <code>update</code> clauses, however using table alias' in an update query causes a program failure. In order to correct this the  <filename>QueryTest.java</filename> file has been updated with the removal for the allowance of table alias'.
+						</para>
+					</listitem>
+					<!--	<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1529">JBPAPP-1529</ulink>: The composite primary key of 765 bytes fails within the unit test for Sybase, as it exceeds the maximum index length of 600 bytes. In order to rectify this issue, a hard coded length of 32 bytes is now in place for the compasite primary key ID within the <filename>UserGroup.hbm.xml</filename> file.
+						</para>
+					</listitem> -->
+					<!--	<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1528">JBPAPP-1528</ulink>: When Sybase would convert Java byte into tinyint, failures would arise within tests because of the use of 8 bit values. To correct this the unit tests have been updated to use 7 bit values instead of 8. In order to instigate this correction, the <filename>InterfaceProxyTest.java</filename> and <filename>MixedTest.java</filename> files have been updated. 
+						</para>
+					</listitem> -->
+					<!--	<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1527">JBPAPP-1527</ulink>: Limitations of the Sybase ResultSet implementation would cause unit test failures because the data would not be read before closing the ResultSet. The <filename>AggressiveReleaseTest.java</filename>, <filename>CMTTest.java</filename> and <filename>StatsTest.java</filename> files have been updated so that the ResultSet is read correctly for Sybase so that no <exceptionname>NullPointerException</exceptionname> is thrown. 
+						</para>
+					</listitem> -->
+					<!--	<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1523">JBPAPP-1523</ulink>: The test supplied for the <methodname>str()</methodname> method is invalid for SQL Server and Sybase as optional parameters for controlling the number of characters for decimal plus decimal values is 0 and the test uses these values by default for SQL Server and Sybase, returning null values. The test has been updated for these dialects so that the values passed are appropriate and do not return null. 
+						</para>
+					</listitem> -->
+					<!--	<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1520">JBPAPP-1520</ulink>: The <methodname>FooBarTest.testCollectionsInSelect()</methodname> tests fails for Sybase because implicit support for conversion between <varname>VARCHAR</varname> to <varname>INT</varname>.The files <filename>NativeQueryTest.java</filename> and <filename>FooBar.test</filename> have been updated to correct this issue. 
+						</para>
+					</listitem> -->
 				</itemizedlist>
 			</para>
 		</formalpara>
@@ -698,8 +1258,39 @@
 				<itemizedlist>
 					<listitem>
 						<para>
-							
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2067">JBPAPP-2067</ulink>: The release of Tomcat 6.0.20 saw a set of security vulnerabilities fixed that have now been backported to JBoss Web. These vulnerabilities are:
 						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0033">CVE-2009-0033</ulink>: For Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18, when the <filename>Java AJP</filename> connector and <filename>mod_jk</filename> load balancing were used it would allow for remote attackers to cause a denial of service (application outage) attack via a crafted request with invalid headers. This would occur in relation to the temporary blocking of connectors that had encountered errors, as demonstrated by an error involving a malformed <filename>HTTP Host</filename> header. This update has been rated as having important security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5515">CVE-2008-5515</ulink>: Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, 6.0.0 through 6.0.18, and possibly earlier versions normalized the target pathname before filtering the query string when using the <methodname>RequestDispatcher</methodname> method, which allowed remote attackers to bypass intended access restrictions and conduct directory traversal attacks via <code>..</code> (dot dot) sequences and the <filename>WEB-INF</filename> directory in a <classname>Request</classname>. This update has been rated as having important security impact by the Red
+									Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0783">CVE-2009-0783</ulink>: Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18 would permit web applications to replace an XML parser used for other web applications. This would allow local users to read or modify the <filename>web.xml</filename>, <filename>context.xml</filename>, or <filename>tld</filename> files of arbitrary web applications via a crafted application that is loaded earlier than the target application. This update has been rated as having low security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0781">CVE-2009-0781</ulink>: A Cross-site scripting (XSS) vulnerability existed within the <filename>jsp/cal/cal2.jsp</filename> calendar examples web application for Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18. This vulnerability would allow remote attackers to inject arbitrary web script or HTML via the time parameter, related to <emphasis>invalid HTML</emphasis>. This update has been rated as having low security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0580">CVE-2009-0580</ulink>: For Apache Tomcat 4.1.0 through 4.1.39, 5.5.0 through 5.5.27, and 6.0.0 through 6.0.18, when <property>FORM</property> authentication was used, this would allow remote attackers to enumerate valid usernames via requests to <filename>/j_security_check</filename>. This would be achieved with malformed URL encoding of passwords, related to improper error checking in the <classname>MemoryRealm</classname>, <classname>DataSourceRealm</classname>, and <classname>JDBCRealm</classname> authentication realms, as demonstrated by a <code>%</code> (percent) value for the <property>j_password</property> parameter. This update has been rated as having low security impact by the Red Hat Security Response Team.
+								</para>
+							</listitem>
+						</itemizedlist>
+						<para>
+							These bug fixes are part of the JBoss Web 2.0.0.CP10 upgrade.
+						</para>
 					</listitem>
 				</itemizedlist>
 			</para>
@@ -768,6 +1359,19 @@
 							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1685">JBPAPP-1685</ulink>: Apache-slide has been upgraded to version 2.1.jdk15-brew. In this change is the renaming of <filename>jakarta-slide-webdavlib.jar</filename> to <filename>webdavlib.jar</filename> and the <filename>commons-httpclient.jar</filename> has been removed from the distribution because it was dependant on an unincluded <filename>commons-codec.jar</filename>. Removal of the <filename>commons-httpclient.jar</filename> file does not impact correct functioning of the JBoss Enterprise Application Platform.
 						</para>
 					</listitem>
+					<listitem>
+						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1100">JBPAPP-1100</ulink>: <filename>hsqldb</filename> has been upgraded to version 1.8.0.8.patch02-brew. In this change is a change to the <filename>MANIFEST.MF</filename> file. In previous releases the version information was displayed as a timestamp, an example would be:
+						</para>
+<screen>
+private-2007/12/18-11:59:06
+</screen>
+						<para>
+							This release correctly shows the version of <filename>hsqldb</filename> correctly within the <filename>MANIFEST.MF</filename> file as:
+						</para>
+<screen>
+1.8.0.8.patch02
+</screen>				</listitem>
 				</itemizedlist>
 			</para>
 		</formalpara>

Modified: projects/docs/enterprise/4.3.5/readme/en-US/Release_Notes_CP05.xml
===================================================================
--- projects/docs/enterprise/4.3.5/readme/en-US/Release_Notes_CP05.xml	2009-06-30 23:40:55 UTC (rev 90718)
+++ projects/docs/enterprise/4.3.5/readme/en-US/Release_Notes_CP05.xml	2009-07-01 00:04:58 UTC (rev 90719)
@@ -1344,11 +1344,6 @@
 									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-532">ANN-532</ulink>: The exception handling of the <property>@UniqueConstraint</property> has been improved for cases when it refers to an incorrect column name. This has been achieved through the modification of the <classname>AnnotationConfiguration</classname> and <classname>Mappings</classname> classes.
 								</para>
 							</listitem>
-						<!--	<listitem>
-								<para>
-									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-531">ANN-531</ulink>: XML deserialization of an entity would only deserialize the ID and not the child properties.
-								</para>
-							</listitem> -->
 							<listitem>
 								<para>
 									<ulink url="http://opensource.atlassian.com/projects/hibernate/browse/ANN-529">ANN-529</ulink>: Hibernate used the optional keyword <emphasis>as</emphasis> in the from clause within the <classname>MapBinder</classname> class. This behavior caused Hibernate Annotations to not be compatable with Oracle 10g. The optional keyword is now removed from the from clause and Hibernate Annotations is successfully compatable with Oragle 10g.
@@ -1442,6 +1437,28 @@
 					</listitem> -->
 					<listitem>
 						<para>
+							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-2032">JBPAPP-2032</ulink>: The Hibernate Annotations upgrade that has occured between the last JBoss Enterprise Application Platform Cummulative Patch and this one may cause backwards-compatibility issues for some users due to the changes introduced to applications that use <classname>SchemaExport</classname> in production. The following instances are circumstances where an issue may arise:
+						</para>
+						<itemizedlist>
+							<listitem>
+								<para>
+									Users who rely on the <classname>hbm2ddl</classname> component of Hibernate Annotations must now check their manually created indexes as there is a high possibility that the order of these will have to change to avoid a performance penalty. An example of this would be that if the index was B, A and Hibernate Annotations now queries based on A, B then the index will not be used.
+								</para>
+							</listitem>
+							<listitem>
+								<para>
+									Users who rely on custom Hibernate CRUD operations are required to manually check if their SQL is up-to-date. An example of when this would be required is if a user has a table with the structure NAME(string), FK1(int), FK2(int) and the FK's point to a table which has overlapping or the same ID set. With this Hibernate Annotations upgrade it is now assumed that the structure is NAME(string), FK2(int), FK1(int). This change will not cause CRUD operations to fail at runtime but the semantics of the update will be incorrect. 
+								</para>
+							</listitem>
+						</itemizedlist>
+						<warning>
+							<para>
+								If these concerns are not addressed by affected users then noticable data consistencies and performance issues may arise. The new configuration parameter <property>hibernate.legacy.foreignkey.use_identity_hashcode_to_compare</property> should also not be utilised as it will restore indeterminate behaviour.
+							</para>
+						</warning>
+					</listitem>
+					<listitem>
+						<para>
 							<ulink url="http://jira.jboss.com/jira/browse/JBPAPP-1859">JBPAPP-1859</ulink>: The <classname>ManyToOneJoinTest</classname> distributed with Hibernate would fail because a primary key would be set on a <code>nullable</code> column. The <filename>OneToOneSecondPass.java</filename> file has been modified to use the <methodname>buildJoinFromMappedBySide</methodname> method instead of the <methodname>buildJoin</methodname> method. Inacting this change has meant that the calls to the <methodname>join.createPrimaryKey()</methodname> and <methodname>join.createForeignKey()</methodname> methods within this file have also been removed.
 						</para>
 					</listitem>




More information about the jboss-cvs-commits mailing list