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;"><t:form><t:label
for="search"/><t:textfield t:id="search"
size="50"/></t:form></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 & 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> –
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> –
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> –
Bug in ConcurrentBarrierTest</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1327">TAP5-1327</a> –
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> –
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> –
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> – 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> – 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> – 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> –
Implement sendRedirect() for TestableResponseImpl</li><li><a
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1333">TAP5-1333</a> –
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> –
Improve page testing facilities</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1342">TAP5-1342</a> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> – 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> – 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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> –
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> –
Minor documentation typos in PageLoaded annotation</li><li><a
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-818">TAP5-818</a> –
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> –
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> –
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> –
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> –
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> – 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> –
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> – 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> –
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> –
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> – 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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
The decorateComponentEventLink event name is misspelled</li><li><a
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1258">TAP5-1258</a> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
Cookbook: defining a new enum as a component parameter, and adding the string
-> 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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> –
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> –
Component LinkSubmit doesn't work</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-728">TAP5-728</a> – 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> –
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> –
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> – 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> – 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> –
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> – 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> – 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> –
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> – 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> –
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> –
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> –
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> –
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> –
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> –
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> – 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> – 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> – 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> –
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> –
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> –
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> –
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> –
BaseOptimizedSessionPersistedObject does not work correctly with Tomcat &
Jetty</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-837">TAP5-837</a> –
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> –
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> –
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> – It
is not possible to attach a validation event listener to a Palette (or other
<select> field)</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-871">TAP5-871</a> –
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> –
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> – Fix
PartialMarkupDocumentLinkerTest.stylesheet_link()</li><li><a
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-896">TAP5-896</a> –
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> –
BeanModel methods reorder, include and exclude should return BeanModel<T>
(not BeanModel<?>)</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-908">TAP5-908</a> –
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> –
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> – 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> –
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> –
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> –
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> – 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> – 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> – 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> –
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> –
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> – 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> – 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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> –
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> –
@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> –
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> –
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> –
XSS vulnerability in calendar component</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1060">TAP5-1060</a> – 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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
Bean editor model for <class name> already contains a property model for
property <property name> 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> –
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> – 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> – 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> –
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> –
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> –
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> –
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> –
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> – 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> – 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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> – 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> –
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> –
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> –
ClassPropertyAdapterImpl should skip static fields</li><li><a
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1182">TAP5-1182</a> –
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> –
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> – 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> –
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> – 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> –
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> –
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> –
LinkSubmit broken in IE 7 mode</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1216">TAP5-1216</a> –
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> –
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> –
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> –
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> –
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> – 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> – Add
support for Bulgarian locale</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-179">TAP5-179</a> – 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> – 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> –
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> – 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> –
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> – 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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> –
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>
– 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> –
Provide ApplicationStatePersistenceStrategy for Hibernate entities</li><li><a
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-803">TAP5-803</a> –
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> –
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> –
Improve documentation of @Persist annotation</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-811">
TAP5-811</a> – 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> –
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> – 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> – 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> –
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>
– Introduce a symbol for tapestry.js</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-887">TAP5-887</a> –
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> –
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> – 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> –
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> –
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> – 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> – 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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> –
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> – 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> – 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> –
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> –
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> –
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> – 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> –
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> –
(5.2.0-SPNAPSHOT Maven dependencies) tapestry-hibernate-5.2.0 jar generated
with tapestry-hibernate-5.2.0-yyyyMMdd.hhmmss-?.jar >
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> –
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> – 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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> –
The ExceptionReporter should be configured to mark more of the Tapestry
generated classes (used for method & 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> –
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> –
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> –
Handle array types in property expressions</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1126">TAP5-1126</a> –
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> –
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> –
LinkSubmit should render minimally (and as <span> 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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> – 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> –
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> –
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> –
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> – 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> –
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> – 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> –
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> – Add
Zone parameter to Select component</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-152">TAP5-152</a> – 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> – 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> – 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> –
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> – 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> – 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> –
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> –
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> –
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> –
Live class reloading for service implementations</li><li><a
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1028">TAP5-1028</a> –
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> – 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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> –
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> – Fix
TranslatorSourceImplTest</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-756">TAP5-756</a> – 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> –
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> –
Method AbstractField.createDefaultParameterBinding() should be
deprecated</li><li><a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-976">TAP5-976</a> –
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> –
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> –
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> –
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> –
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><t:form><t:label
for="search"/><t:textfield t:id="search"
size="50"/></t:form></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>