Modified: websites/production/tapestry/content/release-notes-52.html
==============================================================================
--- websites/production/tapestry/content/release-notes-52.html (original)
+++ websites/production/tapestry/content/release-notes-52.html Tue Sep 26 
19:20:27 2017
@@ -27,17 +27,6 @@
       </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css" />
 
-          <link href='/resources/highlighter/styles/shCoreCXF.css' 
rel='stylesheet' type='text/css' />
-    <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
-    <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
-          <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-          <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-          <script src='/resources/highlighter/scripts/shBrushJScript.js' 
type='text/javascript'></script>
-          <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
-        <script>
-      SyntaxHighlighter.defaults['toolbar'] = false;
-      SyntaxHighlighter.all();
-    </script>
   
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -78,202 +67,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>This is the consolidated list 
of changes between Tapestry versions 5.1 and 5.2. To upgrade from 5.1 to 5.2, 
most users will be able to just update the Maven dependency in their POM file 
(or <a  href="download.html">download</a> the new JAR file) and the new version 
will just work. However, please read carefully below before upgrading, and also 
review the <a  href="how-to-upgrade.html">How to Upgrade</a> 
instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1499639567259 {padding: 0px;}
-div.rbtoc1499639567259 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1499639567259 li {margin-left: 0px;padding-left: 0px;}
-
-/*]]>*/</style></p><div class="toc-macro rbtoc1499639567259">
-<ul class="toc-indentation"><li><a  
href="#ReleaseNotes5.2-BreakingChanges">Breaking Changes</a></li><li><a  
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes: Tapestry 
5.2.6</a></li><li><a  
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: Tapestry 
5.2.5</a></li><li><a  
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry 
5.2.4</a></li><li><a  
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release Notes: Tapestry 
5.2.3</a></li><li><a  
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry 
5.2.2</a></li><li><a  
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry 
5.2.1</a></li><li><a  
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry 
5.2.0</a></li></ul>
-</div><h2 id="ReleaseNotes5.2-BreakingChanges">Breaking Changes</h2><p>The 
following changes have been made in Tapestry 5.2 that are likely to result in 
unexpected behavior if your application relies on the changed functionality. 
Please review this list carefully before upgrading from 5.1 to 5.2. Also check 
the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/deprecated-list.html";>Deprecated
 API List</a> for non-breaking changes.</p><ul><li>Page classes with instance 
variables that are not thread safe must be created in a method rather than 
declared as an instance variable. For example, creating an instance variable 
<code>private final DateFormat format = 
DateFormat.getDateInstance(DateFormat.MEDIUM, locale);</code> in a page and 
using it will cause problems because DateFormat is not thread safe. Instead, 
you must create the DateFormat in a method. See <a  
href="release-notes-52.html">Release Notes: Tapestry 5.2.0</a> (below) for 
details.</li><li><a  class=
 "external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Link.html#toAbsoluteURI%28%29";>Link.toAbsoluteURI()</a>
 now returns the absolute URL, which includes the scheme, hostname and possibly 
port (e.g., "http://example.com:8080/myapp/viewproduct/4";), rather than a 
relative URL (e.g., "/myapp/viewproduct/4"). See <a  
href="release-notes-52.html">Release Notes: Tapestry 5.2.2</a> (below) for 
details.</li><li>The <a  class="external-link" 
href="http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Label.html";>Label</a>
 component no longer outputs an id:</li></ul><p>Previously valid code in 
5.1.0.5:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:form&gt;&lt;t:label 
for="search"/&gt;&lt;t:textfield t:id="search" 
size="50"/&gt;&lt;/t:form&gt;</pre>
-</div></div><p>Combined with JavaScript that references the id:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<pre class="brush: js; gutter: false; theme: Default" 
style="font-size:12px;">jQuery('#search-label').text('This is the search 
label');   </pre>
-</div></div><p>New JavaScript code for 5.2:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: js; gutter: false; theme: Default" 
style="font-size:12px;">jQuery('label[for=search]').text('This is the search 
label');</pre>
-</div></div><ul><li>ContributeTranslatorSource compatibility is broken. 
Service 'TranslatorSource' is now configured using a MappedConfiguration, not a 
Configuration. See issue <a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1395";>TAP5-1395</a></li><li>Code
 that uses Form.getDefaultTracker().getHasErrors()) fails if it assumes that 
getDefaultTracker() is not null when validation is successful. See issue <a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1401";>TAPS-1401</a>.</li><li>Virtual
 folders, used to define root packages for component libraries, may no longer 
contain slashes.</li><li>The path prefix of a LibraryMapping may no longer 
contain the slash character.</li></ul><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes: Tapestry 
5.2.6</h2><p>Tapestry 5.2.6 is a maintenance release.
-
-</p><p></p><p>
-                
-</p><h3>        Bugs Fixed
-</h3>
-<ul><li>[<a  
href="https://issues.apache.org/jira/browse/TAP5-1368";>TAP5-1368</a>] -         
The onFailure function provided to Tapestry.ajaxRequest does not always get 
invoked
-</li><li>[<a  
href="https://issues.apache.org/jira/browse/TAP5-1546";>TAP5-1546</a>] -         
TranslatorSource incorrectly annotated with @UsesConfiguration when it should 
now be @UsesMappedConfiguration (as of 5.2)
-</li><li>[<a  
href="https://issues.apache.org/jira/browse/TAP5-1551";>TAP5-1551</a>] -         
FormFragment change visibility/hide and remove event listeners should call 
event.stop() to prevent container fragments from also being hidden
-</li></ul>
-            
-<h3>        Improvements Made
-</h3>
-<ul><li>[<a  
href="https://issues.apache.org/jira/browse/TAP5-1482";>TAP5-1482</a>] -         
Upgrade Prototype to 1.7 / Scriptaculous 1.9.0
-</li><li>[<a  
href="https://issues.apache.org/jira/browse/TAP5-1538";>TAP5-1538</a>] -         
Optimize client-side URL rebuilding in IE 7
-</li><li>[<a  
href="https://issues.apache.org/jira/browse/TAP5-1539";>TAP5-1539</a>] -         
Optimize document scans used by Tapestry.FieldEventManager to not locate the 
label or icon until actually needed
-</li></ul>
-                                            
-<p></p><h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: 
Tapestry 5.2.5</h2><p>Version 5.2.5 is a maintenance release for 5.2.4.
-
-</p><h3 id="ReleaseNotes5.2-BugsFixed">Bugs Fixed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1372";>TAP5-1372</a> - 
BaseURLSource uses getLocalPort() rather than getServerPort()</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-ImprovementsMade">Improvements Made</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1040";>TAP5-1040</a> - Allow 
HTML5 doctype to be printed</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1208";>TAP5-1208</a> - In 
development mode, Tapestry should "shadow" field &amp; parameter values to 
instance variables, to assist with debugging</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1346";>TAP5-1346</a> - Fix 
broken links on new Web Site</li></ul><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry 
5.2.4</h2><p>Version 5.2.4 replaces version <a  
href="release-notes-523.html">5.2.3</a>, which had an incorrect version number 
in the quickstart archetype.
-
-</p><h3 id="ReleaseNotes5.2-ImprovementsMade.1">Improvements Made</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1349";>TAP5-1394</a> &#8211; 
The method parameter annotations are missing from Tapestry IoC 
proxies</li></ul><h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release 
Notes: Tapestry 5.2.3</h2><p></p><h3 id="ReleaseNotes5.2-BugsFixed.1">Bugs 
Fixed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1204";>TAP5-1204</a> &#8211; 
tapestry-core JAR includes some compiled Groovy test scripts</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1326";>TAP5-1326</a> &#8211; 
Bug in ConcurrentBarrierTest</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1327";>TAP5-1327</a> &#8211; 
Tapestry IOC depends on SLF4J 1.5.6 which is not compatible with Hibernate 3.6 
(which depends on 1.6.1)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1328";>TAP5-1328</a> &#8211; 
Tapestry.ajaxRequest() fails when just parameters are provided, but not an 
onSuccess handler function</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1330";>TAP5-1330</a> &#8211; 
Position of Injected Stylesheets changed from 5.1 to 5.2</li><li><a  
class="external-link" href="https://issues.apache.org/jira/browse/TAP5-1332";>
 TAP5-1332</a> &#8211; In a multi-zone update, if the referenced Zone can not 
be found on the client, Tapestry stops updating Zones with no error</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1334";>TAP5-1334</a> &#8211; Id 
attribute of the @Decorate annotation should be optional</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1345";>TAP5-1345</a> &#8211; A 
supported locale name is only recognized in lower case</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-ImprovementsMade.2">Improvements Made</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-929";>TAP5-929</a> &#8211; 
Implement sendRedirect() for TestableResponseImpl</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1333";>TAP5-1333</a> &#8211; 
Zone should implement an interface, BodyElement, that extends ClientElement and 
provides the body property</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1341";>TAP5-1341</a> &#8211; 
Improve page testing facilities</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1342";>TAP5-1342</a> &#8211; 
Provide convenient methods for Element and Document to find 
elements</li></ul><p><span class="confluence-anchor-link" 
id="ReleaseNotes5.2-Tap5.2.2"></span></p><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry 
5.2.2</h2><p>It is now possible to generate an absolute URL from a Link object; 
an absolute URL includes the URL scheme, host, port
  number (if necessary) followed by the complete path.  This is useful in a 
number of situations, such as when generating a URL that may be e-mailed to an 
end user.
-
-</p><p>The semantics of the <code>Link.toAbsoluteURL()</code> method has 
changed; in prior releases it returned a complete URL (i.e., starting with a 
leading slash), and the method was typically used when generating an Ajax 
callback URL.  Starting in 5.2.2 this generates an absolute URL (as described 
above). In most cases, you should change code that invoked 
<code>toAbsoluteURL()</code> with a call to <code>toURL()</code> instead; 
because Tapestry no longer 'optimizes' URLs, this will work for Ajax cases as 
well.</p>
-
-<p>Deployed Tapestry applications often run behind a firewall, the available 
Request information about incoming hostname and port is often not accurate (it 
represents the private request from the firewall server to the application 
server, whereas the client uses a public request to the firewall server). When 
using absolute URLs, you will likely want to override the BaseURLSource service 
to provide accurate values that reflect your application's deployment.</p>
-
-<h3 id="ReleaseNotes5.2-BugsFixed.2">Bugs Fixed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-708";>TAP5-708</a> &#8211; 
Element.forceAttribute uses the element's namespace to match the 
attribute.</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-709";>TAP5-709</a> &#8211; 
Element.attribute(String name, String value) adds elements that already 
exist</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-804";>TAP5-804</a> &#8211; 
Element#addClassName can create an additional new 'class' attribute</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-921";>TAP5-921</a> &#8211; 
Properties defined in an Interface are not exposed by PropertyAccess  for 
abstract classes that do not directly implement the methods</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1287";>TAP5-1287</a> &#8211; 
Some services require a notification that they have been reloaded, so they can 
clean up extern
 al dependencies</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1293";>TAP5-1293</a> &#8211; 
Whitespaces in SymbolConstants.SUPPORTED_LOCALES cause that locales are not 
persised</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1294";>TAP5-1294</a> &#8211; 
Validation macros do not work when used in @Validate annotation</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1297";>TAP5-1297</a> &#8211; 
Client-side validation of @Pattern is broken</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1303";>TAP5-1303</a> &#8211; 
Linking a Form to a Zone will no longer work unless the Form contains validated 
fields</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1304";>TAP5-1304</a> &#8211; 
When using PropertyShadowBuilder to build a service, if the property  is null, 
an immediate exception is needed (rather than a  NullPointerExcept
 ion)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1309";>TAP5-1309</a> &#8211; 
When using a MultiZoneUpdate, Tapestry will clear the referenced zone</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-ImprovementsMade.3">Improvements Made</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-538";>TAP5-538</a> &#8211; Add 
the facility to optionally disable on-focus-change triggered validation while 
retaining the on-form-submit validation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-874";>TAP5-874</a> &#8211; Form 
component should be able to render a secure URL even on an insecure 
page</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1272";>TAP5-1272</a> &#8211; 
New annotations @Decorate and @Advise to identify methods that decorate or 
annotate services</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1291";>TAP5-1291</a> &#8211; 
Extend Link with new methods for producing absolute URLs (that include scheme, 
hostname, etc.)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1295";>TAP5-1295</a> &#8211; 
Simplify connecting a link or form to an (enclosing) Zone<
 /li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1298";>TAP5-1298</a> &#8211; 
BeanBlockContribution should be split into two sub-classes: 
EditBlockContribution and DisplayBlockContribution</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1300";>TAP5-1300</a> &#8211; 
Define a special CSS class to prevent a client-side form from submitting 
normally (for Ajax use cases)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1306";>TAP5-1306</a> &#8211; 
Additional method for Link: addParameterValue(String,Object) that uses 
ContextPathEncoder to encode object value to a string</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1314";>TAP5-1314</a> &#8211; 
SeleniumTestCase should expose the underlying CommandProcessor, to  allow 
execution of commands not defined by the Selenium interface</li><li><a  
class="external-link" href="https://issues.apache.org/jira/browse/TA
 P5-1315">TAP5-1315</a> &#8211; Allow individual SeleniumTestCases to run w/o 
configuring SeleniumLauncher</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-NewFeaturesAdded">New Features Added</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1299";>TAP5-1299</a> &#8211; 
Option to disable live service reloading via a JVM system property</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-TasksCompleted">Tasks Completed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1317";>TAP5-1317</a> &#8211; 
Upgrade Hibernate dependency to latest, Hibernate 3.6.0.Final</li></ul>
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry 
5.2.1</h2><p>Prior releases of Tapestry attempted to "optimize" URLs, by 
creating relative URLs where appropriate. Unfortunately, that caused its own 
problems with Ajax requests, since the base URL for an Ajax request is not the 
same as the base URL for the enclosing page.  In any case, this feature has 
been removed, all URLs are now complete URLs (they start with a leading slash, 
and include the context path and the additional path that describes the page, 
page activation context, etc.).
-
-</p><p>As part of this change, the <em>internal</em> RequestPathOptimizer 
service has been removed.</p>
-
-<h3 id="ReleaseNotes5.2-BugsFixed.3">Bugs Fixed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-710";>TAP5-710</a> &#8211; 
Documentation about "use of asset: and context: to reference  assets directly 
from a template file" has errors (See TAP5-214)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-752";>TAP5-752</a> &#8211; 
Tapestry bin download includes lots of libraries that shouldn't be there due to 
licensing concerns</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-770";>TAP5-770</a> &#8211; 
Minor documentation typos in PageLoaded annotation</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-818";>TAP5-818</a> &#8211; 
Tapestry should properly support JDK 1.5 Generics when reading and updating 
properties and property expressions</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1004";>TAP5-1004</a> &#8211; 
X-Tapestry-ErrorMessage may lead to HTTP Response Splitting</l
 i><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1011";>TAP5-1011</a> &#8211; 
When using @PageActivationContext and providing a no-args activate event 
handler, the handler may be called too soon</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1118";>TAP5-1118</a> &#8211; 
Using Ajax updates to add an Upload component to an existing  Form fails in IE, 
which still sends application/x-www-form-urlencoded  encoded request</li><li><a 
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1123";>TAP5-1123</a> &#8211; 
Documentation in ApplicationStateManager is not quite  correct: when creating 
an SSO it uses the full injection machinery, not  necessarilly the no-args 
constructor</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1177";>TAP5-1177</a> &#8211; In 
a partial page update request, if the server returns an  empty string for the 
content, the client-side is left as is, rat
 her than  cleared</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1188";>TAP5-1188</a> &#8211; 
Refactoring the base class of a live-reloaded service  implementation can cause 
mysterious NoSuchMethodError exceptions</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1192";>TAP5-1192</a> &#8211; IE 
8 throws an exception while purging JavaScript event handlers from elements as 
they are destroyed</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1201";>TAP5-1201</a> &#8211; 
PageResponseRenderer.render() should call 
RequestGlobabls.storeActivePageName(String pageName)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1222";>TAP5-1222</a> &#8211; 
Accessing a public field of a non-component object inside  component code can 
result in a TransfomationException  if the accessed  field name matches the 
name of a component field</li><li><a  class="external-link" href=
 "https://issues.apache.org/jira/browse/TAP5-1228";>TAP5-1228</a> &#8211; The 
need to configure the tapestry.alias-mode symbol makes it  awkward to start a 
Registry up for unit testing purposes</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1229";>TAP5-1229</a> &#8211; 
Tapestry binary/source distributions do not include all modules</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1230";>TAP5-1230</a> &#8211; 
SeleniumTestCase.assertFieldValue() should invoke writeErrorReport() on 
failure</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1232";>TAP5-1232</a> &#8211; 
Restore injection of service id (as a String) into service decorator methods 
for proper backwards compatibility</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1235";>TAP5-1235</a> &#8211; 
The interaction between a Form component and the active page  can be 
problematic when there is an error l
 oading a page</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1241";>TAP5-1241</a> &#8211; 
Setting the content length of the response should automatically disable 
response compression</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1244";>TAP5-1244</a> &#8211; 
Tapestry components and mixins should be converted to use JavaScriptSupport, 
not RenderSupport</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1246";>TAP5-1246</a> &#8211; 
Tapestry should use SQLException.getNextException() to dig down to the "root 
cause"</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1254";>TAP5-1254</a> &#8211; 
The decorateComponentEventLink event name is misspelled</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1258";>TAP5-1258</a> &#8211; 
Maven quickstart archetype puts the wrong version in the pom.xml</li><li><a  
class="external-link" h
 ref="https://issues.apache.org/jira/browse/TAP5-1260";>TAP5-1260</a> &#8211; 
Document "Assets", Section "Securing Assets" is outdated</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1261";>TAP5-1261</a> &#8211; 
Tapestry adds event handlers not only to form components, but also to simple 
forms</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1264";>TAP5-1264</a> &#8211; 
Ordering of MarkupRenderer (and PartialMarkupRender) filters  can cause bad 
interraction between ClientBehaviorSupport and Heartbeat</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1265";>TAP5-1265</a> &#8211; 
Change the description for the quickstart archetype to just "Tapestry 5 
Quickstart Project"</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1269";>TAP5-1269</a> &#8211; 
Annotation @FactoryDefaults should be allowed on methods, for use with the 
@Contribute annotation</li><li><a  cl
 ass="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1277";>TAP5-1277</a> &#8211; 
Tapestry incorrectly calls PrintWriter.flush(), not close(), when writing JSON 
objects and arrays as the response</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1279";>TAP5-1279</a> &#8211; 
Importing a JavaScript library that is part of a stack should  import the 
entire stack instead of the individual library (to take  advantage of 
JavaScript aggregation)</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-ImprovementsMade.4">Improvements Made</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-363";>TAP5-363</a> &#8211; 
Cookbook: Using Tapestry to serve servlet-container error pages</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1233";>TAP5-1233</a> &#8211; 
Live reloading of service implementation classes causes  IllegalAccessError if 
the class contains protected or package private  methods</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1236";>TAP5-1236</a> &#8211; 
Add method Response.disableCompression() (to avoid use of a internal global 
key)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1245";>TAP5-1245</a> &#8211; 
Break out the Tapestry JSON support into an independent module</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1250";>TAP5-1250</a> &#8211; 
Add support for creating a Flow from an Iterable (not just Collection and 
object array)</li><li><a  
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1256";>TAP5-1256</a> &#8211; 
Failed Selenium assertions should capture a screenshot (as well as the current 
page HTML)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1266";>TAP5-1266</a> &#8211; 
Bring quickstart archetype up to date in several ways</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-NewFeatures">New Features</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-910";>TAP5-910</a> &#8211; 
Cookbook: defining a new enum as a component parameter, and adding the string 
-&gt; enum type coercion for it</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-TasksCompleted.1">Tasks Completed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1240";>TAP5-1240</a> &#8211; 
Upgrade Hibernate dependencies to 3.5.4-Final</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1267";>TAP5-1267</a> &#8211; 
Remove the code that "optimizes" generated URLs as it is not always possible to 
know what the base URL is</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1270";>TAP5-1270</a> &#8211; 
Upgrade EasyMock dependency to version 3.0</li></ul>
-<p><span class="confluence-anchor-link" 
id="ReleaseNotes5.2-Tap5.2.0"></span></p><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry 
5.2.0</h2><p>Tapestry 5.2.0 represents nearly a year of work past the prior 
stable release, 5.1.0.5.  For the most part, the upgrade is quite straight 
forward, but please read the notes below carefully.
-
-</p><h3 id="ReleaseNotes5.2-LiveServiceReloading">Live Service Reloading</h3>
-
-<p>Tapestry 5.2.0 extends Tapestry's concept of live reloading of Java code 
into the service layer. In most cases, service implementations of your 
application will now live reload, seamlessly. See the <a  
href="frequently-asked-questions.html">FAQ</a> for some additional notes about 
live reloading.</p>
-
-<h3 id="ReleaseNotes5.2-PagesNoLongerPooled">Pages No Longer Pooled</h3>
-
-<p>This is a huge change from Tapestry 5.1 to 5.2; Tapestry no longer pools 
page instances. It creates <strong>one</strong> instance of each page (per 
supported locale). Tapestry rewrites your component classes so that all mutable 
state is stored in a per-thread HashMap. This will greatly reduce Tapestry's 
memory footprint, especially on heavily loaded sites.</p>
-
-<p>This change makes it easier to share objects between threads, which is 
problematic when the objects are not thread-safe.  For example:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Valid Component Code 
(5.1)</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">
-  @Inject
-  private Locale locale;
-
-  private final DateFormat format = 
DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
-
-  public String getCurrentTimeFormatted()
-  {
-    return format.format(new Date());
-  }
-</pre>
-</div></div>
-
-<p>In the above code, <em>under 5.1</em>, the DateFormat object was not shared 
between threads, as each thread would operate with a different instance of the 
containing page.  Under 5.2, the final field <em>will</em> be shared across 
threads, which is problematic as DateFormat is not thread safe. The code should 
be rewritten as:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Updated for 
5.2</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">
-  @Inject
-  private Locale locale;
-
-  public String getCurrentTimeFormatted()
-  {
-    DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
-tapestry.page-pool-enabled
-    return format.format(new Date());
-  }
-</pre>
-</div></div>
-
-<p>If such issues are difficult to solve, remember that as a temporary 
work-around you have the option of re-enabling the page pooling behavior of 5.1 
by setting <code>tapestry.page-pool-enabled</code> to "true" in your <a  
href="configuration.html">configuration</a>.</p>
-
-<h3 id="ReleaseNotes5.2-ServiceIdInjection">Service Id Injection</h3>
-
-<p>In prior releases of Tapestry, a constructor parameter of type String was 
assumed to be the service id. In the many cases where these was not the case 
(such as using the @Value or @Symbol annotation), the parameter needed to be 
annotated with the @Inject annotation.</p>
-
-<p>Starting in 5.2.0, this feature is no longer present (this is a 
<em>non-backwards compatible change</em>, but one that affects virtually 
nobody).  A parameter of type String will be subject to normal injection; you 
will likely want to use @Value or @Symbol with it, or you will see an error 
that "No service implements java.lang.String.".</p>
-
-<div class="confluence-information-macro 
confluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-<p>Igor made a change such that a bare String is injected as the service id in 
some circumstance; it may be decorator methods.  This needs to be documented 
properly.</p></div></div>
-
-<h3 id="ReleaseNotes5.2-TranslatorSource">TranslatorSource</h3>
-
-<p>The configuration type for TranslatorSource has changed in an 
<em>incompatible</em> way: from an unordered collection to a mapped collection; 
this is to support overrides of Tapestry's<br clear="none">
-built-in translators. This will break existing module classes that contribute 
to the TranslatorSource service configuration.</p>
-
-<h3 id="ReleaseNotes5.2-Assets">Assets</h3>
-
-<p>There have been some changes to how assets operate in Tapestry 5.2.</p>
-
-<p>Virtual folders, used to define root packages for component libraries, may 
no longer contain slashes. Virtual folders are the pathPrefix property of the 
LibraryMapping objects that are contributed to the ComponentClassResolver 
service.</p>
-
-<p>Each LibraryMapping  is now automatically converted into a matching 
contribution to   the ClasspathAssetAliasManager service. Previously a library 
author was encouraged to make contributions to both services. The path prefix 
of a LibraryMapping is also now prohibited from containing the slash 
character.</p>
-
-<p>It is now quite necessary to configure the application version number: all 
assets are exposed via a URL that incorporates the application version number; 
in previous releases, each library could configure its own version number. By 
implication, changing library versions and nothing else will now require a 
change to the application version number.</p>
-
-<h3 id="ReleaseNotes5.2-ClassTransformationAPIchanges">ClassTransformation API 
changes</h3>
-
-<p>The ClassTransformation API, used to implement component meta-programming, 
has been rewritten with an eye to making class transformations easier to 
implement while removing the dependency on the Javassist library. This is of 
note only to <em>advanced</em> users who have implemented 
ComponentClassTransformWorkers, which operate on the ClassTransformation 
API.</p>
-
-<p>Much of the existing API has been deprecated and <em>some</em> deprecated 
methods are now non-functional. The deprecated methods will be removed in 
Tapestry 5.3.</p>
-
-<p>This represents a shift in how the API operates; previously much of the 
logic in ComponentClassTransformWorkers was built in terms of Javassist: adding 
new bytecode to existing methods. The new API switches away from this, and now 
works in terms of adding new fields, initializing those fields using callbacks, 
providing callbacks for access to fields, and adding advice to methods.</p>
-
-<h3 id="ReleaseNotes5.2-TemplateParserbacktoSAX">Template Parser back to 
SAX</h3>
-
-<p>Tapestry no longer uses a StAX parser to parse component templates, it has 
reverted to using a normal SAX parser. This change reduces the number of 
dependencies for Tapestry, and is a stepping stone towards compatibility with 
Google App Engine.</p>
-
-<h3 id="ReleaseNotes5.2-BugsFixed.4">Bugs Fixed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-266";>TAP5-266</a> &#8211; In a 
conflict between a render phase annotation and the naming convention, the 
explicit annotation should win</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-707";>TAP5-707</a> &#8211; 
Yellow highlight remains on updated zone if zone is re-updated too 
quickly</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-711";>TAP5-711</a> &#8211; 
Submit component: using image parameter prevents selected event from being 
fired</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-714";>TAP5-714</a> &#8211; 
Incorrect encoding of single quotes for Ajax requests</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-715";>TAP5-715</a> &#8211; 
TypeCoercer.explain incorrectly reports the plan to coerce from primitive types 
to wrapper types</li><li><a  class="external-link" h
 ref="https://issues.apache.org/jira/browse/TAP5-719";>TAP5-719</a> &#8211; 
Component LinkSubmit doesn't work</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-728";>TAP5-728</a> &#8211; When 
using the @Validate annotation, spaces around the commas that separate 
contraints cause runtime exceptions</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-734";>TAP5-734</a> &#8211; 
Tapestry tutorial documentation refers to old archtype command</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-747";>TAP5-747</a> &#8211; 
Property expressions that include method invocations that in  turn reference 
properties result in spurious error about "root"</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-748";>TAP5-748</a> &#8211; NPE 
when defining a component using just t:id and no type or @Component 
annotation</li><li><a  class="external-link" href="https://issues.apache.org/jir
 a/browse/TAP5-749">TAP5-749</a> &#8211; The FormFragment and LinkSubmit 
components create a hidden field whose id ends with ":hidden"</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-750";>TAP5-750</a> &#8211; 
Tapestry should not attempt to GZip flash movies (.swf files)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-755";>TAP5-755</a> &#8211; URL 
rewriting documentation contains an example that won't compile due to lack of a 
return value</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-759";>TAP5-759</a> &#8211; The 
documentation of DefaultNullFieldStrategy#replaceFromClient() is wrong about 
what gets returned</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-765";>TAP5-765</a> &#8211; 
Included JavaScript libraries are not properly uniqued within an Ajax partial 
update response</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/bro
 wse/TAP5-767">TAP5-767</a> &#8211; PropertyConduitSourceImpl should use 
english locale (instead of default locale) when evaluating decimals</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-769";>TAP5-769</a> &#8211; 
JavaScript aggregation can be inefficient across multiple pages with different 
JS requirements</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-774";>TAP5-774</a> &#8211; 
Initialization JavaScript needs help when order counts</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-779";>TAP5-779</a> &#8211; 
CLONE -Linksubmit doesn't work inside a form with Zone parameter set</li><li><a 
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-786";>TAP5-786</a> &#8211; 
Exception messages in the pageload packages should be localized</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-787";>TAP5-787</a> &#8211; 
AbstractIntegrationTest's "as
 sertTextPresent" only checks the first value</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-788";>TAP5-788</a> &#8211; 
ParallelExecutor service throws RejectedExecutionException if more then 
THREAD_POOL_MAX_SIZE jobs are submitted</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-796";>TAP5-796</a> &#8211; Form 
component generates invalid xHtml: there should not be the "name" 
attribute</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-812";>TAP5-812</a> &#8211; The 
input validation documentation incorrectly shows validation occuring in the 
success event handler method</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-813";>TAP5-813</a> &#8211; the 
component rendering page of the user guide is not generated by maven</li><li><a 
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-815";>TAP5-815</a> &#8211; 
Asset dispatcher allows any file
  inside the webapp visible and downloadable</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-823";>TAP5-823</a> &#8211; 
Message about incompatible return type of a render phase method is 
misleading</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-824";>TAP5-824</a> &#8211; 
Javasisst 3.9.0.GA not available from central repository</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-830";>TAP5-830</a> &#8211; 
SpringModuleDef unnecessarily hard-codes that the type of  object stored in the 
context as a ConfigurableWebApplicationContext when  any object implementing 
ApplicationContext is sufficient</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-834";>TAP5-834</a> &#8211; 
BaseOptimizedSessionPersistedObject does not work correctly with Tomcat &amp; 
Jetty</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-837";>TAP5-837</a> &#8211;
  prototype1.6.0 not support for ie8</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-839";>TAP5-839</a> &#8211; 
Tapestry should ignore (public) synthetic methods in module classes</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-856";>TAP5-856</a> &#8211; 
MetaDataLocatorImpl.findMeta(String, String, Class) doesn't  check contributed 
defaults - breaks SECURE_PAGE contributions</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-868";>TAP5-868</a> &#8211; It 
is not possible to attach a validation event listener to a Palette (or other 
&lt;select&gt; field)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-871";>TAP5-871</a> &#8211; 
Generation of Component Reference failed on Windows</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-881";>TAP5-881</a> &#8211; 
Tapestry's customized Blackbird implementation sends a dubious cookie v
 alue over every request</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-894";>TAP5-894</a> &#8211; Fix 
PartialMarkupDocumentLinkerTest.stylesheet_link()</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-896";>TAP5-896</a> &#8211; 
Contribute 'properties' file extension to the configuration of 
ResourceDigestGenerator</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-898";>TAP5-898</a> &#8211; 
BeanModel methods reorder, include and exclude should return BeanModel&lt;T&gt; 
(not BeanModel&lt;?&gt;)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-908";>TAP5-908</a> &#8211; 
Blackbird console should not add cookies to requests</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-913";>TAP5-913</a> &#8211; 
Stack size too large exception, related to PropertyExpressionLexer</li><li><a  
class="external-link" href="https://issues.apache.
 org/jira/browse/TAP5-919">TAP5-919</a> &#8211; Calling MarkupWriter.element() 
with an even number of  arguments throws ArrayIndexOutOfBounds exception, not a 
useful exception  about omitting a attribute name or value</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-923";>TAP5-923</a> &#8211; 
Injeting Tapestry Services to Spring Beans is completely 
undocumented</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-936";>TAP5-936</a> &#8211; 
Tapestry wiki link links to nothing for locales other then en</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-937";>TAP5-937</a> &#8211; 
LinkImpl does not handle parameters properly when passed into the 
constructor</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-940";>TAP5-940</a> &#8211; Zone 
should fire a heart beat event</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-943";>TAP5-943</
 a> &#8211; Documentation for event handler methods should go into detail about 
returns true or false</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-944";>TAP5-944</a> &#8211; When 
a ValueEncoder is unable to convert an id to a entity,  it should wrap the 
underlying type coercion exception to describe the  input and expected output 
type</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-945";>TAP5-945</a> &#8211; 
Unnecessary and severe lock contention in PerthreadManagerImpl</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-947";>TAP5-947</a> &#8211; 
Default name "submit" for submit component breaks javascript function 
submit()</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-959";>TAP5-959</a> &#8211; Ajax 
event handler methods that return a page instance, page  class or page name 
should cause the client to redirect to that page, but  doesn't work in IE7
  or 8 if the URL has a query param</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-961";>TAP5-961</a> &#8211; When 
a URL rewriting rule changes the path for a rendered  link (component event or 
page render), any query parameters associated  with the original link are 
lost</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-962";>TAP5-962</a> &#8211; 
Errors component includes an @Environmental for FormSupport, but doesn't use 
it</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-964";>TAP5-964</a> &#8211; 
Exception report failed to render due to NPE inside session-persisted objects' 
toString()</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-974";>TAP5-974</a> &#8211; 
PageCallback should be marked with the @ImmutableSessionPersistedObject 
annotation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-987";>TAP5-987</a> &#8211; I
 n some cases you can invoke Form.recordError() and the Form will still fire a 
success (not a failure) event</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1001";>TAP5-1001</a> &#8211; 
Garbled exception message when a component is defined in a  namespace that is 
not properly defined as a Tapestry library namespace</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1018";>TAP5-1018</a> &#8211; 
Request to Application Root path ignores ComponentRequestFilter's</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1019";>TAP5-1019</a> &#8211; 
French translations for number format error message</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1020";>TAP5-1020</a> &#8211; 
Fix typo in tapestry-hibernate/src/site/apt/userguide.apt:  
HibernateTransactionAdviser should be HibernateTransactionAdvisor</li><li><a  
class="external-link" href="https://issues.apache.org/jira
 /browse/TAP5-1030">TAP5-1030</a> &#8211; Injecting a Logger into a non-service 
object, created as part  of constructing a service configuration, should work 
but doesn't</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1031";>TAP5-1031</a> &#8211; 
NPE from Any component when invoking getClientId() before the component 
renders</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1034";>TAP5-1034</a> &#8211; 
Using URLRewriteRules will fail for component event links if the page has an 
activation context</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1042";>TAP5-1042</a> &#8211; 
URLRewriting causes confusion about the incoming Request path, leading to 
incorrect optimized relative URLs</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1043";>TAP5-1043</a> &#8211; 
PropertyDisplayBlocks causes NullPointerException when property of type 
Calendar is null</li><li><a 
  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1047";>TAP5-1047</a> &#8211; 
@IncludeJavaScriptLibrary and @IncludeStylesheet may incorrectly calculate 
resources in component sub-classes</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1052";>TAP5-1052</a> &#8211; 
Component classes page of the guide should be much more  specific that only 
component classes go in pages, components, etc.</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1054";>TAP5-1054</a> &#8211; 
Not able to pass an empty string as appName to PageTester</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1057";>TAP5-1057</a> &#8211; 
XSS vulnerability in calendar component</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1060";>TAP5-1060</a> &#8211; In 
IE8, forms that should submit using Ajax are triggering full page requests due 
to a client-side JavaScript error</li><
 li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1067";>TAP5-1067</a> &#8211; 
Created component constructor may use too many parameters</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1068";>TAP5-1068</a> &#8211; 
RenderSupport.addScriptLink(String) deprecated and removed without 
replacement</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1069";>TAP5-1069</a> &#8211; 
Tapestry POM should reference only the Apache Nexus repository, not the 
tapestry.formos.com repository</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1074";>TAP5-1074</a> &#8211; 
The @QueryParameter annotation uses TypeCoercer to convert  from request 
parameter strings to method parameter values, it should use  the 
ValueEncoder</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1075";>TAP5-1075</a> &#8211; 
When a template contains a reference to an unknown compo
 nent,  the new UnknownValueException is reported but the Location is no longer 
 reported, making it much harder to determine where the error 
occurred</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1076";>TAP5-1076</a> &#8211; 
When a service implementation is reloadable, it will not eager load</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1080";>TAP5-1080</a> &#8211; 
Page activation context lost when redirecting from HTTP to HTTPS due to the 
@Secure annotation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1086";>TAP5-1086</a> &#8211; 
Localized root path request results in a 404 error if Index page is not 
available</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1088";>TAP5-1088</a> &#8211; 
Bean editor model for &lt;class name&gt; already contains a  property model for 
property &lt;property name&gt; when combining model  parameter with add parame
 ter of BeanEditor or BeanEditForm</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1090";>TAP5-1090</a> &#8211; 
Deleting a live-reloaded class can result in a non-descriptive "Parameter url 
was null." exception</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1096";>TAP5-1096</a> &#8211; If 
a Zone's id parameter is bound, then the clientId property should return that 
value, even before the Zone renders</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1100";>TAP5-1100</a> &#8211; On 
ajax request, template body doesn't render if page is new in pagepool or if 
server restarted</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1105";>TAP5-1105</a> &#8211; 
BeanModelSource should recognize public field as properties, but 
doesn't</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1106";>TAP5-1106</a> &#8211; 
Tapestry.ajaxFailureHan
 dler has an incorrect signature for an Ajax.Request onException 
callback</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1109";>TAP5-1109</a> &#8211; 
Updating multiple zones within a Form creates anomalous empty text 
fields</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1110";>TAP5-1110</a> &#8211; 
Tapestry holds onto the verbose descriptions of component class 
transformations, causing a memory leak</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1116";>TAP5-1116</a> &#8211; 
Live lock when using compressed and virtual assets due to ByteArrayOutputStream 
being synchronized</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1120";>TAP5-1120</a> &#8211; It 
is not possible to override the default Translator contributions to the 
TranslatorSource service</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1124";>TAP5-1124</a> &
 #8211; FormEventManager.setSubmittingElement(element) creates input element 
with type="input"</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1128";>TAP5-1128</a> &#8211; A 
space is added to a HTML start comment sequence making it impossible to add IE 
conditional comments</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1130";>TAP5-1130</a> &#8211; 
LinkSubmit component doesn't work when form contains Select component with 
default id</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1136";>TAP5-1136</a> &#8211; 
java.lang.UnsupportedOperationException from UpdateListenerHub when a weak 
reference is reclaimed</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1137";>TAP5-1137</a> &#8211; 
Dynamically adding JavaScript libraries to a page via a  partial page update 
does not seem to work consistently in Safari and  Chrome</li><li><a  
class="external-link" href=
 "https://issues.apache.org/jira/browse/TAP5-1138";>TAP5-1138</a> &#8211; 
ClassTransformation deprecated a bunch of methods, then refers to replacements 
that don't exist</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1141";>TAP5-1141</a> &#8211; 
Type coercion from arbitrary object to Boolean will NPE when  the object's 
toString() returns null (should coerce to false)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1145";>TAP5-1145</a> &#8211; 
Writing only text (or raw text) into a Document via MarkupWriter results in 
[empty Document], not the actual text</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1147";>TAP5-1147</a> &#8211; 
Ajax updates under IE leak lots of memory</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1154";>TAP5-1154</a> &#8211; 
ValidationDecorator.insideField not called for Select component</li><li><a  
class="external-link" href="h
 ttps://issues.apache.org/jira/browse/TAP5-1156">TAP5-1156</a> &#8211; Provide 
a ValueEncoder for a Hibernate entity automatically only if a mapped class 
exists</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1158";>TAP5-1158</a> &#8211; 
Captured HTML from failed Selenium assertions do not get stored in the correct 
place on Windows</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1161";>TAP5-1161</a> &#8211; 
Tapestry 5.1 seems incompatible with Spring 3</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1166";>TAP5-1166</a> &#8211; 
ClassPropertyAdapterImpl should skip static  fields</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1182";>TAP5-1182</a> &#8211; 
javax.management preventsTapestry apps from being deployed on GAE</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1185";>TAP5-1185</a> &#8211; 
Upgrade to latest Java
 ssist version to avoid LocalVariableTable exceptions (especially on Google App 
Engine)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1198";>TAP5-1198</a> &#8211; A 
user defined activate event handler appears to execute  *before* the event 
handler supplied by @PageActivationContext, making  defensive coding 
impossible</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1203";>TAP5-1203</a> &#8211; 
Use of @Contribute annotation does not work properly with marker 
annotations</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1207";>TAP5-1207</a> &#8211; A 
form control component (such as TextField) whose id is "id" can confuse 
client-side logic for the Form DOM object</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1209";>TAP5-1209</a> &#8211; 
Marker annotations used with services that have contributions  should be 
applicable to methods (as well as fields an
 d parameters) for  compatibility with @Contribute</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1210";>TAP5-1210</a> &#8211; 
MultiZone update from EventLink with Form fails in Internet Explorer</li><li><a 
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1211";>TAP5-1211</a> &#8211; 
LinkSubmit broken in IE 7 mode</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1216";>TAP5-1216</a> &#8211; 
ValueEncoderSource does not define a @UsesMappedConfiguration 
annotation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1223";>TAP5-1223</a> &#8211; 
The name "JavaScript" should have a capital "S" but is inconsistent in some 
class and interface names</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1224";>TAP5-1224</a> &#8211; 
When contributing to a service using a "contribute" method,  the service id 
from the method name now matches case-sen
 sitively to the  service id (it should be case insensitive)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1262";>TAP5-1262</a> &#8211; 
XSS vulnerability in calendar component (apply to 5.1.0.x)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1282";>TAP5-1282</a> &#8211; 
Form component generates invalid xHtml: there should not be the "name" 
attribute - Applied to 5.1</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-ImprovementsMade.5">Improvements Made</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-69";>TAP5-69</a> &#8211; Add 
annotation, @Contribute, to allow service contributor methods to be arbitrary 
named</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-88";>TAP5-88</a> &#8211; Add 
support for Bulgarian locale</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-179";>TAP5-179</a> &#8211; The 
TriggerFragment mixin would be more useful if it could  invert its logic, i.e., 
make a a fragment visible when a checkbox was  turned off</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-247";>TAP5-247</a> &#8211; Move 
all Tapestry 5 configuration keys to a constant class</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-335";>TAP5-335</a> &#8211; 
Provide access to annotations of service implementation class</li><li><a  
class="external-link" href="https://issues.apache.org/jira/b
 rowse/TAP5-424">TAP5-424</a> &#8211; Allow component libraries to contribute 
extra resources to the global application catalog</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-632";>TAP5-632</a> &#8211; 
Property names (in property expressions) should be able to read or update 
public variables</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-674";>TAP5-674</a> &#8211; Make 
it easy to implement a page callback mechanism</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-678";>TAP5-678</a> &#8211; 
Allow blackbird to be disabled in production mode</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-685";>TAP5-685</a> &#8211; 
Allow services defined by module tapestry-ioc to be advised and 
decorated</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-713";>TAP5-713</a> &#8211; 
Change template parser to not use StAX, as it is not (yet)
  compatible with Google App Engine</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-760";>TAP5-760</a> &#8211; The 
Form event "validateForm" is awkwardly named and should be replaced with the 
simpler name "validate"</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-762";>TAP5-762</a> &#8211; 
Upgrade Selenium dependencies to version 1.0.1</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-764";>TAP5-764</a> &#8211; 
Hidden should support ClientElement and support informal parameters.</li><li><a 
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-777";>TAP5-777</a> &#8211; 
Tapestry should ensure that mixins are applied in a deterministic 
order.</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-783";>TAP5-783</a> &#8211; 
tapestry should mark via annotation which annotations are component-specific 
vs. more general</li><li><a  class="external-l
 ink" href="https://issues.apache.org/jira/browse/TAP5-789";>TAP5-789</a> 
&#8211; Provide bean and display blocks for java.util.Calendar</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-790";>TAP5-790</a> &#8211; 
Provide ApplicationStatePersistenceStrategy for Hibernate entities</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-803";>TAP5-803</a> &#8211; 
ProgressiveDisplay should include a read-only body property of type Block, just 
like Zone</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-807";>TAP5-807</a> &#8211; 
PageRenderLinkSource should add additional methods for  creating a Link when 
you have the page's activation context as an  EventContext</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-810";>TAP5-810</a> &#8211; 
Improve documentation of @Persist annotation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-811";>
 TAP5-811</a> &#8211; Layout component documentation is not very clear about 
directory structure</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-814";>TAP5-814</a> &#8211; 
include a diagram showing how incoming requests pass through the different 
pipelines, filters and dispatchers</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-826";>TAP5-826</a> &#8211; The 
ActionLink documentation is missing the option to use object arrays as context 
inside templates</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-859";>TAP5-859</a> &#8211; In a 
stack trace, any lines associated with line #1 of a  class are likely to be 
synthetic methods and should be classified as  "uninteresting"</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-863";>TAP5-863</a> &#8211; 
Tapestry.ajaxRequest is insufficient when doing extra, such as adding query 
parameters</li><li><a  class="exter
 nal-link" href="https://issues.apache.org/jira/browse/TAP5-884";>TAP5-884</a> 
&#8211; Introduce a symbol for tapestry.js</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-887";>TAP5-887</a> &#8211; 
Easier way to initialize a JSONObject with keys and values</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-889";>TAP5-889</a> &#8211; 
Provide fluent API for order constraints of contributions</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-904";>TAP5-904</a> &#8211; Make 
use of Selenium.showContextualBanner() when running integration 
tests</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-905";>TAP5-905</a> &#8211; 
Tapestry should support the full range of Unicode characters acceptible by Java 
as property names</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-912";>TAP5-912</a> &#8211; 
Validation of properties of type java.util
 .Collection should fail when the collection is empty</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-914";>TAP5-914</a> &#8211; When 
autobuilding a Java bean (such as a Session State Object), the code should use 
the OperationTracker</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-915";>TAP5-915</a> &#8211; It 
should be possible to override a components message catalog</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-917";>TAP5-917</a> &#8211; 
Don't set Expires header when tapestry.production-mode is false</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-927";>TAP5-927</a> &#8211; 
Cannot use Scala for Tapestry IOC Modules</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-948";>TAP5-948</a> &#8211; 
Built-in mechanism to identify self-referential links and/or event/render 
requests</li><li><a  class="external-link" href="ht
 tps://issues.apache.org/jira/browse/TAP5-958">TAP5-958</a> &#8211; Upgrade 
Tapestry's built-in copy of prototype.js to version 1.6.1</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-963";>TAP5-963</a> &#8211; 
Allow access to static resources (css, js, jpg, jpeg, png, gif) inside the app 
package</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-965";>TAP5-965</a> &#8211; 
Upgrade EasyMock dependency to release 2.5.2</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-967";>TAP5-967</a> &#8211; 
ObjectLocator.autobuild would be more useful with an override  that allowed a 
message about the object to be described</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-971";>TAP5-971</a> &#8211; 
FormFragment component should include a parameter to control  whether 
non-visible content is included in the form submission</li><li><a  
class="external-link" href="https://issu
 es.apache.org/jira/browse/TAP5-978">TAP5-978</a> &#8211; Provide remote 
management of the page pool settings</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-979";>TAP5-979</a> &#8211; Form 
component should be more careful with the validation  tracker to ensure that a 
session is not created unless needed</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-993";>TAP5-993</a> &#8211; 
Reorganize ComponentClassTransformWorkers to start moving away from 
Javassist</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-994";>TAP5-994</a> &#8211; 
Field autofocus should be done via Tapestry.init instead of using $ 
function</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1000";>TAP5-1000</a> &#8211; 
When Autobuilding a class, the constructor to be used should be identified in 
the trace output</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/T
 AP5-1014">TAP5-1014</a> &#8211; Message about missing or wrong retention 
policy of a marker annotation is misleading</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1015";>TAP5-1015</a> &#8211; 
Provide a new return type for event handler methods that  would trigger the 
rendering of a particular page without a redirect</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1023";>TAP5-1023</a> &#8211; 
(5.2.0-SPNAPSHOT Maven dependencies) tapestry-hibernate-5.2.0  jar generated 
with tapestry-hibernate-5.2.0-yyyyMMdd.hhmmss-?.jar &gt;  
tapestry-hibernate-5.2.0-SNAPSHOT.jar whereas all other jar are using  
-5.2.0-SNAPSHOT</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1024";>TAP5-1024</a> &#8211; 
Submit component should allow return values from event handler methods 
triggered by its event</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1033";>TAP5-1033</a> &#
 8211; Upgrade selenium dependencies to 1.0.3</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1036";>TAP5-1036</a> &#8211; It 
would be nice if there was a way for committers to run individual integration 
tests again</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1037";>TAP5-1037</a> &#8211; 
Rewrite URLRewriter integration tests to use new SeleniumTestCase instead of 
deprecated AbstractIntegrationTestSuite</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1038";>TAP5-1038</a> &#8211; 
Rewrite live reload integration tests to use new SeleniumTestCase instead of 
deprecated AbstractIntegrationTestSuite</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1046";>TAP5-1046</a> &#8211; 
Change Tapestry client-side JavaScript to make the tapx/Confirm component 
easier to implement</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1050
 ">TAP5-1050</a> &#8211; Add API to prevent a particular service implementation 
from being live reloaded</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1055";>TAP5-1055</a> &#8211; 
Provide hook to post-process properties files before rolling them into 
component Messages</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1061";>TAP5-1061</a> &#8211; 
When a Zone component sends an Ajax request for a client-side  update, it 
should pass an extra query parameter identifying the zone's  client-side 
id</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1077";>TAP5-1077</a> &#8211; 
Merge symbol values into property values from a bean definition</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1085";>TAP5-1085</a> &#8211; 
The ExceptionReporter should be configured to mark more of  the Tapestry 
generated classes (used for method &amp; field access and  method advice
 ) as hidden by default</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1091";>TAP5-1091</a> &#8211; 
CLONE -Handler method of LinkSubmit component should accept a 
context</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1094";>TAP5-1094</a> &#8211; 
Create a binding prefix, "symbol:", that is used to access IoC 
symbols</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1112";>TAP5-1112</a> &#8211; 
Handle array types in property expressions</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1126";>TAP5-1126</a> &#8211; 
Add a new validator, "none", used when overriding the @Validate 
annotation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1127";>TAP5-1127</a> &#8211; 
Documentation for the Submit and LinkSubmit components should  identify that 
you should cancel defer when inside a Loop</li><li><a  class="external-link" 
href="
 https://issues.apache.org/jira/browse/TAP5-1129";>TAP5-1129</a> &#8211; 
LinkSubmit should render minimally (and as &lt;span&gt; tag) and then fill in 
the details on the client</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1132";>TAP5-1132</a> &#8211; 
HibernateGridDataSource should assign the result of  Projections.rowCount() to 
java.lang.Number when determining the number  of rows for the configured entity 
type</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1135";>TAP5-1135</a> &#8211; 
Provide a convinient method to build and start the registry</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1150";>TAP5-1150</a> &#8211; 
Refactor out a new base class between org.testng.Assert and  
org.apache.tapestry5.ioc.test.TestBase for non-mock related tests</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1152";>TAP5-1152</a> &#8211; 
TypeCoercer should include 
 a method exposing the coercion it would use for a given source and target 
type</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1153";>TAP5-1153</a> &#8211; 
When in development mode, Tapestry should pretty-print JSON content</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1155";>TAP5-1155</a> &#8211; 
JavaScript initialization inside the partial page render Ajax response should 
be unquoted</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1157";>TAP5-1157</a> &#8211; 
Client-side exceptions during Tapestry.init() should be caught and reported 
with the console</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1165";>TAP5-1165</a> &#8211; 
Make better use of the OperationTracker to identify what's  going on during a 
request (and especially, during page construction)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1170";>TAP5-
 1170</a> &#8211; Remove automatic injection of service id into parameters of 
type String</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1174";>TAP5-1174</a> &#8211; 
Provide a ComponentEventResultProcessor that sends an error response to the 
client</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1197";>TAP5-1197</a> &#8211; 
Eliminate page pooling using shared page instances that separate their 
structure from the mutable state</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1225";>TAP5-1225</a> &#8211; 
Use recent Groovy/GMaven version and fix GMaven configuration in tapestry-core 
POM</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-NewFeatures.1">New Features</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-52";>TAP5-52</a> &#8211; Add 
Error component that presents validation errors of a single field</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-56";>TAP5-56</a> &#8211; 
Tapestry should have support for IE conditional stylesheets</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-86";>TAP5-86</a> &#8211; Add 
support for "cancel" submit buttons (which bypass client-side 
validation)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-103";>TAP5-103</a> &#8211; 
provide access to component parameters from within mixins</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-138";>TAP5-138</a> &#8211; Add 
Zone parameter to Select component</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-152";>TAP5-152</a> &#8211; Add 
@Translate annotation to define name of 
 translator to be  used with a bean property (rather than lookup by property 
type)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-156";>TAP5-156</a> &#8211; Add 
a @QueryParameter annotation for parameters to event handler method</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-226";>TAP5-226</a> &#8211; Add 
annotation @SessionAttribute to map a field to a specific session 
attribute</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-680";>TAP5-680</a> &#8211; 
Tapestry should provide a mixin for ensuring that the client id of a 
ClientElement is rendered</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-692";>TAP5-692</a> &#8211; T5 
should pick up validators to be applied to a field from the containing 
component's .properties file.</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-801";>TAP5-801</a> &#8211; Add 
Trigger compone
 nt to trigger a component event during rendering</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-895";>TAP5-895</a> &#8211; 
Tracking issue for Tapestry/JSR-303 integration</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-951";>TAP5-951</a> &#8211; 
Create more flexible API for testing with Selenium that  allows for multiple 
test cases to share a single instance of  
Selenium/SeleniumServer/Jetty</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-966";>TAP5-966</a> &#8211; 
TapestryFilter should be able add additional modules to the  Registry to 
accomidate different testing (or other) execution  configurations</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1013";>TAP5-1013</a> &#8211; 
Live class reloading for service implementations</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1028";>TAP5-1028</a> &#8211; 
Validator Macr
 os: Combine multiple common validators into a single term</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1035";>TAP5-1035</a> &#8211; In 
places where an invalid key is used to accessed a named  value, Tapestry should 
report the possible names better (using HTML  lists, rather than a long 
comma-separated string)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1056";>TAP5-1056</a> &#8211; 
The application global message catalog should be injectable into 
services</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1064";>TAP5-1064</a> &#8211; 
Extend PropertyAccess to understand Scala style properties (which use a 
different naming convention than JavaBeans)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1065";>TAP5-1065</a> &#8211; 
Non-visual mixin to generate events as it begins/ends rendering (useful for 
generating matching JavaScript)</li><li><a  class=
 "external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1079";>TAP5-1079</a> &#8211; 
Live class reloading should extend to proxied objects (such as from 
ObjectLocator.proxy()</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1084";>TAP5-1084</a> &#8211; 
Zones that initially render inside a Form should support updates within the 
Form</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1095";>TAP5-1095</a> &#8211; 
LocalizationSetter service should expose the supported locales as a list of 
Locale and as a SelectModel</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1097";>TAP5-1097</a> &#8211; 
New annotation: @HeartbeatDeferred to mark component methods that should 
execute at the end of the current Heartbeat</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1098";>TAP5-1098</a> &#8211; 
Provide new SelectModelFactory service that can automatically  build
  a standard SelectModel from objects and property names</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1099";>TAP5-1099</a> &#8211; 
Introduce public service responsible for handling page activation</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1121";>TAP5-1121</a> &#8211; 
Provide an annotation to support automatic discarding of the  persistent fields 
after a component or page method invocation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1159";>TAP5-1159</a> &#8211; 
Easy way to customize search locations for page and component 
templates</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1190";>TAP5-1190</a> &#8211; 
New page-level events to "decorate" component event and page render 
links</li></ul>
-
-
-<h3 id="ReleaseNotes5.2-TasksCompleted.2">Tasks Completed</h3>
-
-<ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-11";>TAP5-11</a> &#8211; 
CookiesImplTest does specify a domain cookie with a domain not prefixed with a 
. (dot)</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-556";>TAP5-556</a> &#8211; Fix 
TranslatorSourceImplTest</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-756";>TAP5-756</a> &#8211; Add 
ioko-tapestry-commons to the related projects list</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-819";>TAP5-819</a> &#8211; 
remove ide-specific files from all sub-modules and add them to 
svn:ignore</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-969";>TAP5-969</a> &#8211; 
Method AbstractField.createDefaultParameterBinding() should be 
deprecated</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-976";>TAP5-976</a> &#8211; 
Upgrade Spring dependencie
 s to version 3.0.0.RELEASE</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1081";>TAP5-1081</a> &#8211; 
Remove formos references from 5.2.0 archetype</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1087";>TAP5-1087</a> &#8211; 
Upgrade TestNG dependencies to version 5.12.1</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1134";>TAP5-1134</a> &#8211; 
Upgrade Hibernate dependencies to 3.5.2</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1195";>TAP5-1195</a> &#8211; 
Rename annotations @QueryParameter and @QueryParameterMapped (both introduced 
in 5.2.0) to more mnemonic names</li></ul>
-</div>
+                <div 
id="ConfluenceContent"><plain-text-body>{scrollbar}</plain-text-body><p>This is 
the consolidated list of changes between Tapestry versions 5.1 and 5.2. To 
upgrade from 5.1 to 5.2, most users will be able to just update the Maven 
dependency in their POM file (or <a  href="download.html">download</a> the new 
JAR file) and the new version will just work. However, please read carefully 
below before upgrading, and also review the <a  href="how-to-upgrade.html">How 
to Upgrade</a> instructions.</p><p><strong>Contents</strong></p><p><parameter 
ac:name="maxLevel">2</parameter><parameter 
ac:name="minLevel">2</parameter></p><h2 
id="ReleaseNotes5.2-BreakingChanges">Breaking Changes</h2><p>The following 
changes have been made in Tapestry 5.2 that are likely to result in unexpected 
behavior if your application relies on the changed functionality. Please review 
this list carefully before upgrading from 5.1 to 5.2. Also check the <a  
class="external-link" href="http://tapestry.
 apache.org/current/apidocs/deprecated-list.html">Deprecated API List</a> for 
non-breaking changes.</p><ul><li>Page classes with instance variables that are 
not thread safe must be created in a method rather than declared as an instance 
variable. For example, creating an instance variable <code>private final 
DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, 
locale);</code> in a page and using it will cause problems because DateFormat 
is not thread safe. Instead, you must create the DateFormat in a method. See <a 
 href="release-notes-52.html">Release Notes: Tapestry 5.2.0</a> (below) for 
details.</li><li><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Link.html#toAbsoluteURI%28%29";>Link.toAbsoluteURI()</a>
 now returns the absolute URL, which includes the scheme, hostname and possibly 
port (e.g., "http://example.com:8080/myapp/viewproduct/4";), rather than a 
relative URL (e.g., "/myapp/viewproduct/4"). See <a  href="release
 -notes-52.html">Release Notes: Tapestry 5.2.2</a> (below) for 
details.</li><li>The <a  class="external-link" 
href="http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Label.html";>Label</a>
 component no longer outputs an id:</li></ul><p>Previously valid code in 
5.1.0.5:</p><parameter 
ac:name="language">xml</parameter><plain-text-body>&lt;t:form&gt;&lt;t:label 
for="search"/&gt;&lt;t:textfield t:id="search" 
size="50"/&gt;&lt;/t:form&gt;</plain-text-body><p>Combined with JavaScript that 
references the id:</p><parameter 
ac:name="language">js</parameter><plain-text-body>jQuery('#search-label').text('This
 is the search label');   </plain-text-body><p>New JavaScript code for 
5.2:</p><parameter 
ac:name="language">js</parameter><plain-text-body>jQuery('label[for=search]').text('This
 is the search label');</plain-text-body><ul><li>ContributeTranslatorSource 
compatibility is broken. Service 'TranslatorSource' is now configured using a 
MappedConfi
 guration, not a Configuration. See issue <a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1395";>TAP5-1395</a></li><li>Code
 that uses Form.getDefaultTracker().getHasErrors()) fails if it assumes that 
getDefaultTracker() is not null when validation is successful. See issue <a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1401";>TAPS-1401</a>.</li><li>Virtual
 folders, used to define root packages for component libraries, may no longer 
contain slashes.</li><li>The path prefix of a LibraryMapping may no longer 
contain the slash character.</li></ul><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes: Tapestry 
5.2.6</h2><p><parameter ac:name=""><a  href="release-notes-526.html">Release 
Notes 5.2.6</a></parameter></p><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: Tapestry 
5.2.5</h2><p><parameter ac:name=""><a  href="release-notes-525.html">Release 
Notes 5.2.5</a></parameter></p><h2 id="ReleaseNotes5.2-Relea
 seNotes:Tapestry5.2.4">Release Notes: Tapestry 5.2.4</h2><p><parameter 
ac:name=""><a  href="release-notes-524.html">Release Notes 
5.2.4</a></parameter></p><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release Notes: Tapestry 
5.2.3</h2><p><parameter ac:name=""><a  href="release-notes-523.html">Release 
Notes 5.2.3</a></parameter></p><p><parameter 
ac:name="">Tap5.2.2</parameter></p><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry 
5.2.2</h2><p><parameter ac:name=""><a  href="release-notes-522.html">Release 
Notes 5.2.2</a></parameter></p><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry 
5.2.1</h2><p><parameter ac:name=""><a  href="release-notes-521.html">Release 
Notes 5.2.1</a></parameter></p><p><parameter 
ac:name="">Tap5.2.0</parameter></p><h2 
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry 
5.2.0</h2><p><parameter ac:name=""><a  href="release-notes-520.html">Release 
Notes 5.2.0</a></parameter></p><plain-t
 ext-body>{scrollbar}</plain-text-body></div>
       </div>
 
       <div class="clearer"></div>


Reply via email to