Modified: websites/production/tapestry/content/release-notes-51.html
--- websites/production/tapestry/content/release-notes-51.html (original)
+++ websites/production/tapestry/content/release-notes-51.html Tue Apr 10 
04:22:28 2018
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><p class="confluence-link">This is 
the consolidated list of changes between Tapestry versions 5.0 and 5.1. Before 
upgrading, be sure to review the&#160;<a  href="how-to-upgrade.html">How to 
Upgrade</a> instructions.</p><p><strong>Contents</strong></p><p><style 
-div.rbtoc1519597196947 {padding: 0px;}
-div.rbtoc1519597196947 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597196947 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334016917 {padding: 0px;}
+div.rbtoc1523334016917 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334016917 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597196947">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334016917">
 <ul class="toc-indentation"><li><a  
href="#ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version</a></li><li><a  href="#ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry 
href="#ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry Version</a></li><li><a  href="#ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry 
href="#ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version</a></li><li><a  href="#ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry 
 </div><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version</h2><h3 id="ReleaseNotes5.1-BugsFixed">Bugs Fixed</h3><ul><li><a  
href="";>TAP5-604</a> &#8211; contains invalid format strings</li><li><a  
href="";>TAP5-664</a> &#8211; 
Incorrect "legacy" URI specified in the templates documentation</li><li><a  
href="";>TAP5-665</a> &#8211; IE 6 
on a tapestry SSL page complains about non-secure items (caused by blackbird 
js-logging component)</li><li><a  class="external-link" 
href="";>TAP5-666</a> &#8211; 
Property expression can not pass a boolean constant into a method</li><li><a  
href="";>TAP5-668</a> &#8211; 
BeanModel documentat
 ion should be more clear that a property must exist when using 
add(String).</li><li><a  class="external-link" 
href="";>TAP5-670</a> &#8211; 
ParallelExecutorTest can't be compiled due to cast errors</li></ul><h3 
id="ReleaseNotes5.1-ImprovementsMade">Improvements Made</h3><ul><li><a  
href="";>TAP5-214</a> &#8211; 
Document use of asset: and context: to reference assets directly from a 
template file</li><li><a  class="external-link" 
href="";>TAP5-506</a> &#8211; 
Italian localization for DateField component</li><li><a  class="external-link" 
href="";>TAP5-531</a> &#8211; Add 
cookbook documentation to show how to use the delegate component for 
switch-like behaviour</li><li><a  class="external-link" 
href="";>TAP5-579</a> &#8211; 
Finnish internation
 alization is missing some of the keys in 5.1</li><li><a  class="external-link" 
href="";>TAP5-651</a> &#8211; If 
component documentation: identify the use of the p: namespace</li></ul><h3 
id="ReleaseNotes5.1-NewFeaturesAdded">New Features Added</h3><ul><li><a  
href="";>TAP5-223</a> &#8211; 
Allow properties files (on classpath or in the context) to be used as 
SymbolProviders</li><li><a  class="external-link" 
href="";>TAP5-580</a> &#8211; Add 
get() method to TestBase to allow read access to private fields of objects via 
reflection</li><li><a  class="external-link" 
href="";>TAP5-601</a> &#8211; Add 
German translation for client-side JavaScript messages</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry Version</h2><h3 
id="ReleaseNotes5.1-BugsFixed.1">Bugs Fixed</h3>
 <ul><li><a  class="external-link" 
href="";>TAP5-130</a> &#8211; 
Tapestry component report fails if the project's path name contains 
spaces</li><li><a  class="external-link" 
href="";>TAP5-353</a> &#8211; 
Description of volatile parameter for the Grid component is misleading, should 
be clear that application is responsible for the tracking the row</li><li><a  
href="";>TAP5-500</a> &#8211; 
Small typo in javadoc comments for Cookies service.</li><li><a  
href="";>TAP5-501</a> &#8211; In 
the Component interface javadoc the sentence "This interface is likely to 
change without notice." should be deleted or the interface be moved to an 
internal package</li><li><a  class="external-link" 
href="";>TAP5-524</a> &#8211; 
Published pa
 rameters exposed from embedded components not included in Component 
Reference</li><li><a  class="external-link" 
href="";>TAP5-571</a> &#8211; 
Misplaced &lt;t:parameter&gt; results in an inscrutable exception</li><li><a  
href="";>TAP5-613</a> &#8211; 
Returning a Link to a secure page from an ajax event handler method causes the 
redirect to be invalid if the event is sent from an insecure page</li><li><a  
href="";>TAP5-622</a> &#8211; 
Client ids should not contain the ':' character, as that can confuse 
WebKit-based browsers</li><li><a  class="external-link" 
href="";>TAP5-631</a> &#8211; 
Contributed ApplicationInitializer not always executed when using 
tapestry-spring</li><li><a  class="external-link" 
 > &#8211; DOM manipulation during rendering can NPE</li><li><a  
 > class="external-link" 
 > href="";>TAP5-641</a> &#8211; 
 > Inherited parameters that are themselves inherited will appear 
 > null</li><li><a  class="external-link" 
 > href="";>TAP5-644</a> &#8211; 
 > When using PageTester, an exception in the page is hidden by an exception 
 > rendering the exception report page (pt. 2)</li><li><a  
 > class="external-link" 
 > href="";>TAP5-646</a> &#8211; 
 > When Tapestry is combining JavaScript files, it should check for a JS file 
 > that ends with an unterminated comment, and add the comment 
 > terminator</li><li><a  class="external-link" 
 > href="";>TAP5-647</a> &#8211; 
 > Quickstart archetype should not include the tapestry-test dependency, as the 
 > Jetty embedded inside Selenium gets in the way of RunJettyRun inside 
 > Eclipse</li><li><a  class="exte
 rnal-link" href="";>TAP5-648</a> 
&#8211; Tapestry should be more careful about where, inside the &lt;head&gt;, 
it adds new elements</li><li><a  class="external-link" 
href="";>TAP5-649</a> &#8211; 
Forms containing loop components which contain no form elements still encode 
into t:formdata hidden field</li><li><a  class="external-link" 
href="";>TAP5-652</a> &#8211; 
Script tag is missing required attribute type</li><li><a  class="external-link" 
href="";>TAP5-653</a> &#8211; 
Appending a context to an URL of the Index page results in too many 
slashes</li><li><a  class="external-link" 
href="";>TAP5-659</a> &#8211; In 
some servlet containers, access to virtual assets can result in a GZIP-related 
exception</li><li><a  class="external-link" href="https://issues.apache.or
 g/jira/browse/TAP5-660">TAP5-660</a> &#8211; Type coercion from String to 
DateFormat will always coerce using the server's default locale, rather than 
the current per-thread locale</li></ul><h3 
id="ReleaseNotes5.1-ImprovementsMade.1">Improvements Made</h3><ul><li><a  
href="";>TAP5-274</a> &#8211; 
Application State Object is a misleading term; rename @ApplicationState to 
@SessionState</li><li><a  class="external-link" 
href="";>TAP5-612</a> &#8211; 
URLRewriting should distinguish between incoming and outgoing 
requests</li><li><a  class="external-link" 
href="";>TAP5-629</a> &#8211; 
Ensure blackbird console appears on top of other page elements</li><li><a  
href="";>TAP5-654</a> &#8211; 
Improve component classes documentation to be clearer about relationship 
between @
 Component and t:id</li><li><a  class="external-link" 
href="";>TAP5-655</a> &#8211; 
Quickstart archetype should set the application version number to match the 
module version number</li><li><a  class="external-link" 
href="";>TAP5-657</a> &#8211; The 
FieldFocusPriority enum should include an additional value, OVERRIDE, to 
indicate a manually focused field (with highest priority)</li><li><a  
href="";>TAP5-661</a> &#8211; A 
number of minor documentation typos</li></ul><h3 
id="ReleaseNotes5.1-NewFeaturesAdded.1">New Features Added</h3><ul><li><a  
href="";>TAP5-624</a> &#8211; 
Support for javascript callbacks on zone update</li><li><a  
href="";>TAP5-642</a> &#8211; 
Document how to configure Glassfish 2.
 1 to deploy Tapestry applications</li><li><a  class="external-link" 
href="";>TAP5-662</a> &#8211; 
Component documentation should identify the events that may be triggered by a 
component</li></ul><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry 
Version</h2><h3 id="ReleaseNotes5.1-BugsFixed.2">Bugs 
Fixed</h3><ul><li><a  class="external-link" 
href="";>TAP5-469</a> &#8211; 
ResponseCompressionAnalyzer: application/json responses should be 
uncompressable by default</li><li><a  class="external-link" 
href="";>TAP5-596</a> &#8211; 
Misleading description of allowNull parameter of Parameter annotation in 
javadoc</li><li><a  class="external-link" 
href="";>TAP5-602</a> &#8211; 
Contributing to TypeCoercer with service fails even with 
@InjectService</li><li><a  class="external-link" href="https://issues.a">TAP5-603</a> &#8211; BeanEditForm ordering 
behaviour inconsistent with documentation</li><li><a  class="external-link" 
href="";>TAP5-608</a> &#8211; 
Quickstart archetype is broken for missing 
META-INF/maven/archetype.xml</li><li><a  class="external-link" 
href="";>TAP5-610</a> &#8211; URLs 
are not being fully optimized, "/index" is not being stripped off when it 
should</li><li><a  class="external-link" 
href="";>TAP5-615</a> &#8211; 
Tapestry template parse should ignore the case of any Tapestry-specific 
elements (such as t:body, t:content, etc.)</li><li><a  class="external-link" 
href="";>TAP5-616</a> &#8211; 
Hidden component does not properly decode submitted data</li><li><a  
href="";>TAP5-621</a> &#82
 11; When using PageTester, an exception in the page is hidden by an exception 
rendering the exception report page</li><li><a  class="external-link" 
href="";>TAP5-625</a> &#8211; The 
quickstart archetype should not put the Apache copyright into the web.xml (or 
other files)</li><li><a  class="external-link" 
href="";>TAP5-626</a> &#8211; The 
copyright message in Layout.tml is "groupid" not the expanded groupId 
value</li><li><a  class="external-link" 
href="";>TAP5-630</a> &#8211; 
Blackbird error console class names are too generic and can easily 
conflict</li><li><a  class="external-link" 
href="";>TAP5-636</a> &#8211; 
Using Element.forceAttribute() with a null value can cause a later NPE during 
rendering under some circumstances</li></ul><h3 
id="ReleaseNotes5.1-ImprovementsMade.2">Improvements Made</h3><ul><li>
 <a  class="external-link" 
href="";>TAP5-432</a> &#8211; 
Allow setting the id of a FormFragment component</li><li><a  
href="";>TAP5-483</a> &#8211; 
Maven warning in build: [WARNING] Using platform encoding (MacRoman actually) 
to copy filtered resources, i.e. build is platform dependent!</li><li><a  
href="";>TAP5-614</a> &#8211; 
Spacer image should have a blank alt attribute to meet w3c accessability 
standards</li><li><a  class="external-link" 
href="";>TAP5-634</a> &#8211; 
Google App Engine Support: ability to disable code that creates new 
threads</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.2">New Features 
Added</h3><ul><li><a  class="external-link" 
href="";>TAP5-548</a> &#8211; 
Textual messages inside tapestry.js 
 should be split out into a seperate .js file that is localizable</li></ul><h3 
id="ReleaseNotes5.1-TasksCompleted">Tasks Completed</h3><ul><li><a  
href="";>TAP5-617</a> &#8211; Move 
cobertura from 2.2-SNAPSHOT to 2.2</li></ul><h3 
id="ReleaseNotes5.1-Wish">Wish</h3><ul><li><a  class="external-link" 
href="";>TAP5-619</a> &#8211; Add 
parameter to PropertyEditor to allow custom BeanBlockSource to be used in place 
of the default one</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry Version</h2><h3 
id="ReleaseNotes5.1-BugsFixed.3">Bugs Fixed</h3><ul><li><a  
href="";>TAP5-39</a> &#8211; Add 
JSON support for literals (often, inline function definitions) that are used to 
configure some client-side objects (even if they aren't truly JSON)</li><li><a  
class="external-link" href="https://issues.ap">TAP5-573</a> &#8211; NullPointerException 
during AJAX form submit</li><li><a  class="external-link" 
href="";>TAP5-578</a> &#8211; If a 
component class is abstract, trying to instantiate it (by including it in a 
template) yields an inscrutable InstantiationError</li><li><a  
href="";>TAP5-590</a> &#8211; A 
JavaScript error for non-required fields will force Ajax form submits to be 
handled as a full-page request instead</li><li><a  class="external-link" 
href="";>TAP5-593</a> &#8211; 
Calling ApplicationStateManager.exists() will throw an exception when the 
session has been invalidated</li><li><a  class="external-link" 
href="";>TAP5-598</a> &#8211; 
Hard-coded messages inside tapestry.js are not localized</li><li><a  
class="external-link" href="https://issues.">TAP5-600</a> &#8211; The new Blackbird 
console makes Safari JavaScript completely non-functional</li></ul><h3 
id="ReleaseNotes5.1-ImprovementsMade.3">Improvements Made</h3><ul><li><a  
href="";>TAP5-265</a> &#8211; Add 
a Hidden component, used to synchronize a value between the server and the 
client</li><li><a  class="external-link" 
href="";>TAP5-398</a> &#8211; 
Tapestry should check that the service scope is consistent with the service 
(throwing an exception if the scope requires a service interface and the 
service doesn't provide one)</li><li><a  class="external-link" 
href="";>TAP5-566</a> &#8211; 
TextField documentation should explain why the required value parameter is not 
bound in the example</li><li><a  class="external-link" 
 &#8211; Quickstart archetype should include testng.xml and 
webdefault.xml</li><li><a  class="external-link" 
href="";>TAP5-584</a> &#8211; Omit 
generator meta (from head element) when root element is not html</li><li><a  
href="";>TAP5-586</a> &#8211; The 
JavaScript waitForPage() handler does not need to be added when rendering a 
partial Ajax response</li><li><a  class="external-link" 
href="";>TAP5-589</a> &#8211; Add 
a method to DOM Element class to allow the collection of Attributes to be 
obtained</li><li><a  class="external-link" 
href="";>TAP5-591</a> &#8211; FAQ: 
Creating a page render Link from a service</li><li><a  class="external-link" 
href="";>TAP5-605</a> &#8211; 
There should be a simple way to override automatic JavaScript libraries
  and Stylesheets</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.3">New 
Features Added</h3><ul><li><a  class="external-link" 
href="";>TAP5-288</a> &#8211; 
Replace JavaScript client-side logging with Blackbird</li><li><a  
href="";>TAP5-549</a> &#8211; 
JavaScript libraries should be combined into a single request</li><li><a  
href="";>TAP5-557</a> &#8211; 
Provide support for URL rewriting</li><li><a  class="external-link" 
href="";>TAP5-562</a> &#8211; 
tapestry-hibernate should provide a built-in status page to show basic 
Hibernate statistics inlcuding cache hits, etc.</li><li><a  
href="";>TAP5-594</a> &#8211; Add 
simple PageRenderLinkSource service to allow services to create Links to 
 l><h3 id="ReleaseNotes5.1-TasksCompleted.1">Tasks Completed</h3><ul><li><a  
href="";>TAP5-510</a> &#8211; 
Improve code coverage of JSON unit tests</li><li><a  class="external-link" 
href="";>TAP5-575</a> &#8211; Add 
svn:eol-style=native to source files</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version</h2><h3 
id="ReleaseNotes5.1-BugsFixed.4">Bugs Fixed</h3><ul><li><a  
href="";>TAP5-211</a> &#8211; 
Client-side validation of numeric user input does not take into account the 
user's locale which causes spurious client- and server-side exceptions when 
users enter numbers "naturally"</li><li><a  class="external-link" 
href="";>TAP5-374</a> &#8211; 
Persistent (@Persist) fields not set correctly between requests if they are 
initialised from 
 pageAttached() method</li><li><a  class="external-link" 
href="";>TAP5-512</a> &#8211; 
Documentation on how to secure pages contains errors in the sample 
code</li><li><a  class="external-link" 
href="";>TAP5-520</a> &#8211; 
Using regular expressions with the @Validate annotation causes odd parse errors 
if the regexp includes common characters (including commas)</li><li><a  
href="";>TAP5-530</a> &#8211; 
Documentation should identify how to boot-strap the quickstart archetype from 
the Tapestry360 Maven repository (not snapshot repository)</li><li><a  
href="";>TAP5-535</a> &#8211; 
PageTester should use overrides of FactoryDefaults, not contributions to 
ApplicationDefaults</li><li><a  class="external-link" 
 /a> &#8211; PersistentLocale.setLocale() allows the application to set a 
locale that isn't supported, and the subsequent URL may not be interpreted 
correctly</li><li><a  class="external-link" 
href="";>TAP5-552</a> &#8211; 
Common compressed image files should be configured to not re-compress when sent 
to client: GIF, PNG</li><li><a  class="external-link" 
href="";>TAP5-555</a> &#8211; 
Tapestry.ScriptManager.contains throws error if &lt;script&gt; tag in 
&lt;head&gt; has no href</li><li><a  class="external-link" 
href="";>TAP5-559</a> &#8211; 
Informal parameters have started to overwrite previously rendered 
attributes</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.4">Improvements 
Made</h3><ul><li><a  class="external-link" 
href="";>TAP5-84</a> &#8211; Change 
proxy generation to use volatile fields rather than
  synchronized blocks</li><li><a  class="external-link" 
href="";>TAP5-108</a> &#8211; A 
component event handler for Ajax requests should have a mechanism to update 
mutiple zones on the client</li><li><a  class="external-link" 
href="";>TAP5-345</a> &#8211; 
AjaxFormLoop should be able to deduce a default ValueEncoder from the type of 
its value parameter</li><li><a  class="external-link" 
href="";>TAP5-367</a> &#8211; The 
Grid component's "There is no data to display." message should come from a 
message catalog, to support global overrides and localization</li><li><a  
href="";>TAP5-418</a> &#8211; 
Control over creation of page render and component event requests should be 
encapsulated into an overridable service</li><li><a  class="external-link" 
 TAP5-502">TAP5-502</a> &#8211; Improve the description of parameter passing 
and binding in the documentation</li><li><a  class="external-link" 
href="";>TAP5-525</a> &#8211; The 
Component Report should indicate in which Tapestry version a parameter or a 
component was introduced</li><li><a  class="external-link" 
href="";>TAP5-527</a> &#8211; 
Input validation documentation is missing clear list of available validators 
and their correct notation to use.</li><li><a  class="external-link" 
href="";>TAP5-536</a> &#8211; Move 
ClientBehaviorSupport to the public services package</li><li><a  
href="";>TAP5-540</a> &#8211; 
Allow exact parsing of numeric client input by creating a BigDecimal Translator 
and enabling parseBigDecimal in DecimalFormat</li><li><a  class="external-link" 
href="https://iss">TAP5-543</a> &#8211; ProgressiveDisplay 
component should support a context parameter and fire an event to inform the 
container what data is to be displayed</li><li><a  class="external-link" 
href="";>TAP5-544</a> &#8211; 
Improve JavaScript handling to prevent the user from clicking Ajax-oriented 
links and forms before the page is "ready"</li><li><a  class="external-link" 
href="";>TAP5-545</a> &#8211; 
Upgrade to Scriptaculous 1.8.2 (released Nov 2008)</li><li><a  
href="";>TAP5-547</a> &#8211; In 
the exception report page, JVM system property 
org.apache.catalina.jsp_classpath should be displayed as a list, like other 
.path value</li><li><a  class="external-link" 
href="";>TAP5-550</a> &#8211; 
Reduce eden space memory footprint by avoiding Lists and Map
 s within Elements</li><li><a  class="external-link" 
href="";>TAP5-564</a> &#8211; Add 
id="ReleaseNotes5.1-NewFeaturesAdded.4">New Features Added</h3><ul><li><a  
href="";>TAP5-43</a> &#8211; Add 
configuration to turn off @Secure when in development</li><li><a  
href="";>TAP5-74</a> &#8211; 
Provide a way that a component sub-class can merge its template with that of 
its container</li><li><a  class="external-link" 
href="";>TAP5-92</a> &#8211; Add 
new element, t:remove, that removes a portion of a template</li><li><a  
href="";>TAP5-236</a> &#8211; 
Implement a progressive enhancement component that loads its content via 
Ajax</li><li><a  class="external-link" href="htt
 ps://">TAP5-485</a> &#8211; Tracking 
issue for changes required by com.formos.tapestry:tapestry-template</li><li><a  
href="";>TAP5-542</a> &#8211; Add 
ParallelExecutor service to allow operations to be performed asynchronously in 
a thread pool</li><li><a  class="external-link" 
href="";>TAP5-560</a> &#8211; Add 
a service responsible for encoding client data (as gzipp'ed base 64) and 
decoding that data</li><li><a  class="external-link" 
href="";>TAP5-563</a> &#8211; 
Ability to limit the template's effective content to just a small section 
(similar to Tapestry 4's $content$ marker)</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry Version</h2><h3 
id="ReleaseNotes5.1-BugsFixed.5">Bugs Fixed</h3><ul><li><a  
class="external-link" href="
 AP5-217">TAP5-217</a> &#8211; Warnings related to service configuration 
validations should be escalated to exceptions</li><li><a  class="external-link" 
href="";>TAP5-292</a> &#8211; 
Field injection does not support injecting configurations or other service 
resources, only dependencies</li><li><a  class="external-link" 
href="";>TAP5-298</a> &#8211; JS 
error in Palette for disabled options</li><li><a  class="external-link" 
href="";>TAP5-330</a> &#8211; 
Property expressions do not recognize methods inherted from java.lang.Object 
such as toString()</li><li><a  class="external-link" 
href="";>TAP5-334</a> &#8211; 
Component fields should allow @InjectService annotation, as well as 
@Inject</li><li><a  class="external-link" 
href="";>TAP5-341</a> &#8211; When 
a contribute
  method requests the wrong configuration interface (say, Configuration instead 
of OrderedConfiguration) the error message is confusing: "No service implements 
the Configuration interface"</li><li><a  class="external-link" 
href="";>TAP5-349</a> &#8211; 
Tapestry silently allows a MarkupWriter to set a series of root elements, 
ignoring all but the last. A document should only have a single root element 
and this situation should be an immediate exception.</li><li><a  
href="";>TAP5-355</a> &#8211; 
TapestrySpring does not support injection of Spring FactoryBeans</li><li><a  
href="";>TAP5-357</a> &#8211; 
Tapestry documentation should clearly/boldly identify the release 
number</li><li><a  class="external-link" 
href="";>TAP5-359</a> &#8211; Use 
of the email validator with
  client-side validation displays a pop-up error message about client-side 
validator "email" being missing</li><li><a  class="external-link" 
href="";>TAP5-370</a> &#8211; 
Error from DocumentLinker about missing &lt;html&gt; tag, even for XML document 
w/o JavaScript</li><li><a  class="external-link" 
href="";>TAP5-373</a> &#8211; When 
JavaScript libraries are moved to the "top" of the document, they should be 
added to the &lt;head&gt;, not the &lt;body&gt;</li><li><a  
href="";>TAP5-377</a> &#8211; 
Broken links inside on project site to pipeline description and to 
JIRA</li><li><a  class="external-link" 
href="";>TAP5-378</a> &#8211; 
Missing i18n files for Brazilian Portuguese</li><li><a  class="external-link" 
href="";>TAP5-385</a> &#8211; 
 ry 5 often renders empty elements incorrectly</li><li><a  
href="";>TAP5-391</a> &#8211; Link 
from Form page to checkbox page (on website) is incorrect</li><li><a  
href="";>TAP5-399</a> &#8211; 
Modified application state objects are not persisted back to the session at the 
end of the request</li><li><a  class="external-link" 
href="";>TAP5-402</a> &#8211; 
BeanDisplay properties that render nothing cause layout errors (they should 
render a &amp;nbsp;)</li><li><a  class="external-link" 
href="";>TAP5-403</a> &#8211; 
OneShotLock tests fail under JDK 1.6 because of JVM differences</li><li><a  
href="";>TAP5-405</a> &#8211; 
Documentation should reference Index instead of Start page</li><li><a  
 nal-link" href="";>TAP5-407</a> 
&#8211; DocumentLinker should not use the deprecated practice of HTML 
commenting out the &lt;script&gt; block</li><li><a  class="external-link" 
href="";>TAP5-408</a> &#8211; 
Objects that persist in the session should automatically re-store themselves 
into the session at the end of the request</li><li><a  class="external-link" 
href="";>TAP5-413</a> &#8211; 
Invalidating the session may cause an exception at the end of the request if 
there is a "dirty" ASO</li><li><a  class="external-link" 
href="";>TAP5-416</a> &#8211; 
Javascript error with IE and Window Prototype</li><li><a  class="external-link" 
href="";>TAP5-419</a> &#8211; 
Logging of component class transformations has typo in prefix</li><li><a  
class="external-link" href="https:
 //">TAP5-425</a> &#8211; When attempting 
to reference a property whose name is a single letter, Tapestry fails with a 
wierd exception</li><li><a  class="external-link" 
href="";>TAP5-428</a> &#8211; It 
should be possible to use tapestry-spring in an environment where the Spring 
ApplicationContext is created externally (as was the case in Tapestry 
5.0)</li><li><a  class="external-link" 
href="";>TAP5-431</a> &#8211; When 
using an externally configuration Spring ApplicationContext, beans of the 
context should be registered as services (as was the case in Tapestry 
5.0)</li><li><a  class="external-link" 
href="";>TAP5-441</a> &#8211; 
Tapestry should be using ServletContext.getMimeType() to map from file 
extensions to MIME types</li><li><a  class="external-link" 
 443</a> &#8211; Clicking an action link when using tapestry-upload always 
throws an exception</li><li><a  class="external-link" 
href="";>TAP5-444</a> &#8211; 
ToStringService uses @Override annotation improperly</li><li><a  
href="";>TAP5-449</a> &#8211; 
@CleanupRender Render phase methods not always invoked</li><li><a  
href="";>TAP5-454</a> &#8211; All 
classpath assets should automatically have a version number (the application 
version number) in the URL</li><li><a  class="external-link" 
href="";>TAP5-457</a> &#8211; 
Illegal prefix for XML namespace</li><li><a  class="external-link" 
href="";>TAP5-464</a> &#8211; The 
Invokable interface should be moved to a public package (it is currently 
internal, even though some publi
 c interfaces reference it)</li><li><a  class="external-link" 
href="";>TAP5-467</a> &#8211; 
ResponseCompressionAnalyzerImpl should trim spaces before comparing 
accepted-encoding to "gzip"</li><li><a  class="external-link" 
href="";>TAP5-468</a> &#8211; 
ResponseCompressionAnalyzer should disregard the charset when comparing 
configured exluded mime types</li><li><a  class="external-link" 
href="";>TAP5-470</a> &#8211; The 
exception report should only split system properties whose name ends in 
".path"</li><li><a  class="external-link" 
href="";>TAP5-471</a> &#8211; 
MetaDataLocator throws an exception if meta-data not found and no symbol 
provides a value; this should be documented</li><li><a  class="external-link" 
href="";>TAP5-478</a> &#8211; If 
you use Grid's add and 
 include parameters, the new column added with add must be also be mentioned in 
include</li><li><a  class="external-link" 
href="";>TAP5-484</a> &#8211; 
Quickstart should include a test scope dependency on EasyMock</li><li><a  
href="";>TAP5-488</a> &#8211; Typo 
in error message when contributing to unknown service</li><li><a  
href="";>TAP5-489</a> &#8211; The 
comment inside AssetBinding concerning invariant is out of date, in that all 
Assets now use complete URLs</li><li><a  class="external-link" 
href="";>TAP5-490</a> &#8211; Link 
from Ajax guide page to component reference is broken</li><li><a  
href="";>TAP5-505</a> &#8211; 
JettyRunner is not able to start on Windows machine if the web application 
 path is absolute</li><li><a  class="external-link" 
href="";>TAP5-507</a> &#8211; 
Comments between the DOCTYPE and the root element now cause render 
errors</li><li><a  class="external-link" 
href="";>TAP5-528</a> &#8211; The 
new quickstart layout should be simplified to remove "lorem ipson" 
text</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.5">Improvements 
Made</h3><ul><li><a  class="external-link" 
href="";>TAP5-24</a> &#8211; 
Document changing the (persisted) locale</li><li><a  class="external-link" 
href="";>TAP5-60</a> &#8211; 
Provide an alternate approach to decorating services based on 
aspects</li><li><a  class="external-link" 
href="";>TAP5-79</a> &#8211; 
Improve Tapestry's property expression language to include OGNL-like 
features</li><li><a  class="external
 -link" href="";>TAP5-100</a> 
&#8211; When rendering a partial markup response, Tapestry should quote 
attributes with single quotes (so that each quote doesn't have to be escaped in 
the JSON)</li><li><a  class="external-link" 
href="";>TAP5-165</a> &#8211; 
Components which use PrimaryKeyEncoder should be changed to use ValueEncoder, 
and PrimaryKeyEncoder should be deprecated</li><li><a  class="external-link" 
href="";>TAP5-181</a> &#8211; 
Highlight duplicated IDs.</li><li><a  class="external-link" 
href="";>TAP5-194</a> &#8211; 
Handler method of Submit component should accept a context</li><li><a  
href="";>TAP5-209</a> &#8211; 
quickstart archetype should provide a sample page .properties file</li><li><a  
class="external-link" href="https://issu">TAP5-216</a> &#8211; Many methods of the 
Page interface could be moved to PageResources (which should be renamed to 
ComponentPageElementResources)</li><li><a  class="external-link" 
href="";>TAP5-346</a> &#8211; 
Maven resource filtering pre-expands some Tapestry expansions: docs should warn 
of this</li><li><a  class="external-link" 
href="";>TAP5-364</a> &#8211; 
BeanEditForm should include the same autofocus parameter that Form 
has</li><li><a  class="external-link" 
href="";>TAP5-365</a> &#8211; 
Localization support for Japanese</li><li><a  class="external-link" 
href="";>TAP5-371</a> &#8211; 
Service contribution methods should be able to include a parameter of type 
Logger (the service's logger), so as to give contributions the option to log 
with the service</li><li><a  clas
href="";>TAP5-380</a> &#8211; Add 
localization support for Greek</li><li><a  class="external-link" 
href="";>TAP5-382</a> &#8211; 
PersistenceConstants should have all persistence field strategies</li><li><a  
href="";>TAP5-383</a> &#8211; 
Expose a LinkCreationHub service to allow for listeners that wish to observe 
(and modify) new Link instances</li><li><a  class="external-link" 
href="";>TAP5-386</a> &#8211; 
Tapestry IoC documentation improvements</li><li><a  class="external-link" 
href="";>TAP5-390</a> &#8211; 
Improve component reports by providing links to javadocs of tapestry 
classes</li><li><a  class="external-link" 
href="";>TAP5-392</a> &#8211; 
tapestry-hibernate should be spl
 it into two parts: tapestry-hibernate-core and tapestry-hibernate, with 
tapestry-hibernate-core being usable outside of a Tapestry web 
application</li><li><a  class="external-link" 
href="";>TAP5-393</a> &#8211; 
Tapestry IOC should log the names of any loaded module classes and clearly 
indicate module classes that could not be loaded</li><li><a  
href="";>TAP5-406</a> &#8211; 
Remove IDEA and Eclipse control files from the source tree</li><li><a  
href="";>TAP5-417</a> &#8211; 
Tapestry Performance Improvements</li><li><a  class="external-link" 
href="";>TAP5-422</a> &#8211; 
Tapestry should encode the user's locale into the URL rather than as an HTTP 
cookie</li><li><a  class="external-link" 
href="";>TAP5-429</a> &#8211; Tape
 stry should throw an exception when a contribute method of a module class does 
not match a known service</li><li><a  class="external-link" 
href="";>TAP5-435</a> &#8211; 
AjaxFormLoop does not include a parameter for specifying the animation on 
adding a new element</li><li><a  class="external-link" 
href="";>TAP5-442</a> &#8211; Add 
a context: binding prefix to make it super-easy to reference context assets 
from templates</li><li><a  class="external-link" 
href="";>TAP5-445</a> &#8211; Add 
ability to turn off GZIP compression easily, for both static assets and dynamic 
page renders</li><li><a  class="external-link" 
href="";>TAP5-447</a> &#8211; 
ExceptionDisplay should render uninteresting stack frames but include a 
client-side control to toggle their visibility</li><li><a  
class="external-link" href="https://is">TAP5-448</a> &#8211; Assets should no 
longer attempt to generate relative URIs</li><li><a  class="external-link" 
href="";>TAP5-451</a> &#8211; 
Upgrade Selenium dependencies to new beta (which supports FireFox 3)</li><li><a 
href="";>TAP5-458</a> &#8211; 
Tapestry quickstart should include a basic, but visually pleasing, Layout 
component</li><li><a  class="external-link" 
href="";>TAP5-459</a> &#8211; 
Quickstart should include provided scope dependency on the servlet 
API</li><li><a  class="external-link" 
href="";>TAP5-462</a> &#8211; FAQ: 
The Hibernate startup question now has a really easy answer</li><li><a  
href="";>TAP5-465</a> &#8211; Add 
a LazyAdvisor service that can allow metho
 d invocations on services to be lazily evaluated</li><li><a  
href="";>TAP5-479</a> &#8211; 
Quickstart archetype should include a basic site.xml and index.apt</li><li><a  
href="";>TAP5-481</a> &#8211; 
Quickstart archetype should include a test scope dependency on 
tapestry-test</li><li><a  class="external-link" 
href="";>TAP5-482</a> &#8211; 
Maven repository location <a  class="external-link" 
rel="nofollow"></a> has a unwanted 
trailing slash in the master pom.xml</li><li><a  class="external-link" 
href="";>TAP5-487</a> &#8211; 
Easier way to expose parameters of an embedded component in a containing 
component</li><li><a  class="external-link" href="https://issues.apache.o
 rg/jira/browse/TAP5-496">TAP5-496</a> &#8211; Change If and Unless to render 
thier template element if provided (i.e., when using t:type) as well as 
informal parameters</li><li><a  class="external-link" 
href="";>TAP5-498</a> &#8211; 
Upgrade Javassist dependency to latest version, 3.9.0.GA</li><li><a  
href="";>TAP5-499</a> &#8211; 
Cleanup and simplfy PageTester to remove ComponentInvocation, InvocationTarget, 
etc.</li><li><a  class="external-link" 
href="";>TAP5-503</a> &#8211; Make 
Live Class and Template Reloading feature work in OSGi</li><li><a  
href="";>TAP5-516</a> &#8211; When 
rendering a PageLink, it should not be necessary to load the target page 
instance just to see if there's a page activation context</li><li><a  
class="external-link" href="https://issues">TAP5-522</a> &#8211; Reduce memory footprint 
by sharing binding descriptions</li><li><a  class="external-link" 
href="";>TAP5-523</a> &#8211; 
Submit component should be able to render an input field of type 
image</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.5">New Features 
Added</h3><ul><li><a  class="external-link" 
href="";>TAP5-66</a> &#8211; Use 
namespaces in templates to reference components in libraries</li><li><a  
href="";>TAP5-70</a> &#8211; 
Tapestry should automatically compress content sent to the client, if the 
client supports it</li><li><a  class="external-link" 
href="";>TAP5-90</a> &#8211; 
Context assets should be versioned and provided with a far future expires 
header, just like classpath assets</li><li><a  class="external-link" href="ht
 tps://">TAP5-95</a> &#8211; Optimize page 
construction for repeated construction of the same page</li><li><a  
href="";>TAP5-106</a> &#8211; When 
filtering out stack frames in ExceptionAnalyzer, frames for sun.reflect could 
easily be omitted</li><li><a  class="external-link" 
href="";>TAP5-112</a> &#8211; 
Define new namespace, p:, for block parameters</li><li><a  
href="";>TAP5-139</a> &#8211; 
@Autobuild annotation for parameters, implicitly invokes 
ObjectLocator.autobuild()</li><li><a  class="external-link" 
href="";>TAP5-140</a> &#8211; The 
services used to handle live reloading should be made public</li><li><a  
href="";>TAP5-215</a> &#8211; 
Configuration interfa
 ce should support contributing a class (which is autobuilt) in addition to an 
instance</li><li><a  class="external-link" 
href="";>TAP5-291</a> &#8211; Now 
that field injection is supported, we need an annotation for methods to invoke 
after the component is fully constructed</li><li><a  class="external-link" 
href="";>TAP5-295</a> &#8211; 
Option to startup Hibernate early, rather than lazily on first 
request</li><li><a  class="external-link" 
href="";>TAP5-316</a> &#8211; Add 
service overriding capabilities to tapestry-ioc, similar to what tapestry-core 
has (the Alias service)</li><li><a  class="external-link" 
href="";>TAP5-427</a> &#8211; 
Allow injection of Tapestry services into Spring beans</li><li><a  
href="";>TAP5-430</a> &#8211; 
 on for services to indicate that the service should not be 
decorated</li><li><a  class="external-link" 
href="";>TAP5-434</a> &#8211; Add 
documentation about using PersistentLocale service to effect a change in 
locale</li><li><a  class="external-link" 
href="";>TAP5-436</a> &#8211; 
Tapestry should verify that all public methods of a module class are meaningful 
to Tapestry (build, decorate, contribute or bind), other methods should cause 
an exception to be thrown as a likely typo in the name</li><li><a  
href="";>TAP5-437</a> &#8211; The 
OrderedConfiguration and MappedConfiguration interfaces should allow for 
override() methods (similar to add())</li><li><a  class="external-link" 
href="";>TAP5-439</a> &#8211; Add 
annotation, @ServiceId, that can be placed on a builder method or service cl
 ass to identify the service id to use</li><li><a  class="external-link" 
href="";>TAP5-446</a> &#8211; 
Tapestry should output a &lt;meta&gt; tag to identify Tapestry as the generator 
(with an option to turn this off for applications that don't want to advertise 
their technology)</li><li><a  class="external-link" 
href="";>TAP5-472</a> &#8211; Make 
it possible and easy to use a content delivery network</li><li><a  
href="";>TAP5-476</a> &#8211; Have 
a common handler/filter pipeline for both component event and page render 
requests, to make it easier to add filters that apply to both types of 
requests</li><li><a  class="external-link" 
href="";>TAP5-491</a> &#8211; 
Quickstart archetype build should generate an archetype-catalog.xml into 
Tapestry360's maven-repository or maven-snapshot-repos
 itory, to faciliate the use of the mvn archetype:generate goal</li></ul><h3 
id="ReleaseNotes5.1-TasksCompleted.2">Tasks Completed</h3><ul><li><a  
href="";>TAP5-372</a> &#8211; 
Merge changes from 5.0.16 --&gt; 5.0.17 into trunk (5.1)</li><li><a  
href="";>TAP5-379</a> &#8211; Add 
the Ars Machina Project to the list of Tapestry 5-related packages</li><li><a  
href="";>TAP5-381</a> &#8211; 
Documentation talks about a "tapestry.charset" when there's no such 
configuration documented</li><li><a  class="external-link" 
href="";>TAP5-480</a> &#8211; 
Upgrade Surefire Plugin and TestNG dependencies to latest version (2.4.3 and 
5.8, respectively)</li><li><a  class="external-link" 
href="";>TAP5-493</a> &#8211; T
 ranslate StructureStrings#original-child-component</li><li><a  
href="";>TAP5-494</a> &#8211; 
Downgrade maven-site-plugin from 2.0-beta-6 to 2.0-beta-5 because we prefer a 
site that actually works</li></ul><p></p></div>

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 Apr 10 
04:22:28 2018
@@ -79,11 +79,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><p class="confluence-link">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="release-notes-52.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&#160;<a  
href="how-to-upgrade.html">How to Upgrade</a> 
-div.rbtoc1519597231368 {padding: 0px;}
-div.rbtoc1519597231368 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597231368 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334053571 {padding: 0px;}
+div.rbtoc1523334053571 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334053571 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597231368">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334053571">
 <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 
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: Tapestry 
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry 
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release Notes: Tapestry 
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry 
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry 
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry 
 </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" 
 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=
 now returns the absolute URL, which includes the scheme, hostname and possibly 
port (e.g., "<span 
class="nolink"></span>"), 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" 
 component no longer outputs an id:</li></ul><p>Previously valid code in</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
for="search"/&gt;&lt;t:textfield t:id="search" 

Modified: websites/production/tapestry/content/release-notes-53.html
--- websites/production/tapestry/content/release-notes-53.html (original)
+++ websites/production/tapestry/content/release-notes-53.html Tue Apr 10 
04:22:28 2018
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><p>This is the consolidated list 
of changes between Tapestry versions 5.2 and 5.3. To upgrade from 5.2 to 5.3, 
most users who are not using deprecated features will be able to just update 
the Maven dependency in their POM file (or <a  
href="release-notes-53.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&#160;<a  href="how-to-upgrade.html">How to Upgrade</a> 
-div.rbtoc1519597218552 {padding: 0px;}
-div.rbtoc1519597218552 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597218552 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334037613 {padding: 0px;}
+div.rbtoc1523334037613 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334037613 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597218552">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334037613">
 <ul class="toc-indentation"><li><a  
href="#ReleaseNotes5.3-BreakingChanges">Breaking Changes</a></li><li><a  
href="#ReleaseNotes5.3-NewFeatures">New Features</a></li><li><a  
href="#ReleaseNotes5.3-Sub-tasksCompleted">Sub-tasks Completed</a></li><li><a  
href="#ReleaseNotes5.3-BugsFixed">Bugs Fixed</a></li><li><a  
href="#ReleaseNotes5.3-ImprovementsMade">Improvements Made</a></li><li><a  
href="#ReleaseNotes5.3-NewFeaturesImplemented">New Features 
Implemented</a></li><li><a  href="#ReleaseNotes5.3-TasksCompleted">Tasks 
 </div><h2 id="ReleaseNotes5.3-BreakingChanges">Breaking 
Changes</h2><p>Tapestry now depends on Servlet API version <strong>2.5</strong> 
(prior releases worked with 2.4).</p><p>Tapestry no longer supports the ability 
to inject the component id into a String field. This was rarely (if ever) used 
functionality that caused unwanted conflicts elsewhere. When a component needs 
to know its component id, it may inject the <a  class="external-link" 
 object, and invoke <code>getCompleteId()</code>.</p><p>Tapestry templates 
without a &lt;!DOCTYPE&gt; are treated a bit differently in Tapestry 5.3; they 
are treated as if they have the HTML5 doctype (<code>&lt;!DOCTYPE 
html&gt;</code>). See further notes about <a  
href="component-templates.html">component templates</a>.</p><p>Many classes and 
interfaces that were deprecated in prior releases of Tapestry have been removed 
in Tapestry 5.
 3. See <a  class="external-link" 
href="";>the full list</a>. As 
always, you should use your IDE to find and replace all deprecated items 
<em>before</em> you upgrade. The following are the most significant of 
these:</p><ul><li>@IncludeJavaScriptLibrary and @IncludeStylesheet annotations 
(replaced by @<a  class="external-link" 
 annotation (replaced with @<a  class="external-link" 
 event triggered by Form component (replaced with "validate" 
event)</li><li>Code and constants related to page pooling</li></ul><p>In 
addition, some of the abstract base classes used with the tapestry-func library 
have changed into interfaces; you will want to recompile, but may also need to 
adjust your 
 code, depending on your compiler settings and use of the standard Java 
@Override annotation.</p><p>Because of the upgrade to Prototype 1.7, existing 
JavaScript that uses <code>value.toJSON()</code> may break; replace with 
<code>Object.toJSON(value)</code>.</p><p>Some number of interfaces and APIs in 
Tapestry 5.3 will be removed in Tapestry 5.4 or later. These 
include:</p><ul><li>The <a  class="external-link" 
 environmental (replaced with the <a  class="external-link" 
 environmental)</li><li>The <a  class="external-link" 
 object, replaced with <a  class="external-link" 
service and ClassFab interface (replaced with the <a  class="external-link" 
 service and <a  class="external-link" 
 interface)</li><li>The "suppress redirects" functionality, which allows 
component event requests to respond directly with HTML, as in Tapestry 
4.</li></ul><h2 id="ReleaseNotes5.3-NewFeatures">New Features</h2><h3 
id="ReleaseNotes5.3-Underscore.js">Underscore.js</h3><p>Tapestry now bundles <a 
 class="external-link" href=""; 
rel="nofollow">Underscore.js</a>, a useful library for expressive functional 
programming in the browser. It is used in <em>no conflict mode</em>, made 
available as the <code>T5._</code> object.</p><h3 id="ReleaseNotes5.
 3-UserAlerts">User Alerts</h3><p>Tapestry now has a central mechanism for 
handling user alerts; this includes the AlertManager service and the Alerts 
component. Just add an Alerts component to your application's standard layout 
component and Tapestry takes care of the rest. Alerts can be added during both 
traditional and Ajax requests, and may be transient (displayed for a few 
seconds), normal, or sticky (persist until the user expressly dismisses them). 
Alerts support three severities: info, warn(ing) and error; the look and feel 
can be customized by overriding Tapestry's default CSS rules.</p><h3 
id="ReleaseNotes5.3-Renderingcomments">Rendering comments</h3><p>It is now 
possible to have Tapestry emit rendering comments; these are comments (such as 
<code>&lt;!--BEGIN Index:loop (context:Index.tml, line 15)--&gt;</code>) that 
can assist you in debugging markup output on the client-side. This is enabled 
for all requests using the configuration symbol 
 racing-enabled</code>, and can be added to any request by adding the query 
parameter <code>t:component-trace=true</code> to the URL. This will 
significantly increase the size of the rendered markup, but can be very helpful 
with complex layouts to determine which component was responsible for which 
portion of the rendered page.</p><h3 
id="ReleaseNotes5.3-Adaptableservicecontributions">Adaptable service 
contributions</h3><p>When making contributions to a service, you are no longer 
restricted to contributing a value that is assignable to the type associated 
with the configuration; objects of any type may be contributed, and the 
TypeCoercer service is used to coerce the value to the configuration's 
type.</p><h3 id="ReleaseNotes5.3-Componentdebuggingimprovements">Component 
debugging improvements</h3><p>Because of how Tapestry instruments your pages 
and components, using a debugger has been difficult with Tapestry page and 
component classes; any mutable field shows its default value in th
 e debugger, regardless of what has been written to the field or read out of 
it. In Tapestry 5.3, when in <em>development mode</em>, Tapestry now shadows 
values read from or written to such fields into the fields themselves (this has 
also been fixed in the 5.2.5 maintenance release). This shadowing does not 
occur in production, to avoid potential memory leaks.</p><h3 
id="ReleaseNotes5.3-Reloadingdisabledinproduction">Reloading disabled in 
production</h3><p>Tapestry no longer checks for changes to Tapestry component 
class files, templates, or message catalogs in production mode. It is assumed 
that Tapestry applications are packaged as WAR files in production, and that 
changing the WAR file causes the servlet container to redeploy the entire 
application. This change is to improve throughput and reduce memory consumption 
in production applications.</p><h3 
coercions</h3><p>The TypeCoercer service now automatically generates Stri
 ng-to-Enum coercions without requiring a specific contribution. This coercion 
is case insensitive. A contribution is still allowed, and will take priority 
over the default coercion, but is only necessary to support "aliases" for enum 
values outside those defined by the enum type itself.</p><h3 
id="ReleaseNotes5.3-JavaScriptandCSSminimization">JavaScript and CSS 
minimization</h3><p>A new optional library, tapestry-yuicompressor, has been 
added. This library adds support for compressing JavaScript libraries and CSS 
files using <a  class="external-link" 
href=""; rel="nofollow">the 
YUICompressor library</a>.</p><h3 
 Service</h3><p>The type of this service has changed from <a  
 to <a  class="externa
 Contributions of type ComponentClassTransformWorker will automatically be 
coerced to the new ComponentClassTransformWorker2 interface. However, if you 
use the @Contribute annotation to mark the method that makes contributions, you 
will need to update the annotation to indicate the new service interface. If 
you followed the naming convention, and named your method 
<code>contributeComponentClassTransformWorker()</code>, you don't need to 
change anything.</p><h3 
id="ReleaseNotes5.3-AjaxResponseRenderer">AjaxResponseRenderer</h3><p>The <a  
 service makes it easier to customize the partial page response generated when 
updating a <a  class="external-link" href="http://tapestr">Zone</a>
 component, replacing the <a  class="external-link" 
 object as an event handler method return value.</p><h3 
id="ReleaseNotes5.3-TapestryJavaDoc">Tapestry JavaDoc</h3><p>Tapestry now 
includes a new library, tapestry-javadoc, that replaces the old Maven-based 
component report. Simply by placing a <code>@tapestrydoc</code> annotation into 
your component's JavaDoc, Tapestry will generate complete documentation as part 
of JavaDoc ... no more switching back and forth between JavaDoc and the 
Maven-generated component report, and no more reliance on Maven for component 
documentation.</p><h3 id="ReleaseNotes5.3-Skinning/ThemingSupport">Skinning / 
Theming Support</h3><p>Tapestry now adds the ability to skin and/or theme your 
pages and components. Its an extension of how Tapestry manages pages per loc
 ale, but adds new application-defined <em>axes</em> along with rules to find 
the resources. See <a  class="external-link" 
 and <a  class="external-link" 
 also a new <a  class="external-link" 
 component, which uses an external template, not a Tapestry template, which can 
be selected at runtime.</p><h3 id="ReleaseNotes5.3-TreeComponent">Tree 
Component</h3><p>Tapestry finally has a proper <a  class="external-link" 
 component for navigating hierarchical data. It's
  efficient and Ajax-enabled, and fully customizable.</p><h3 
id="ReleaseNotes5.3-FormCancelledEvent">Form Cancelled Event</h3><p>Form 
components now recognize when the client-side form was cancelled. A new 
"cancelled" event is triggered early in the submission process, which allows 
the page to bypass all property updates and input validations, when 
OrderedConfiguration Constraints</h3><p>When using <a  class="external-link" 
 with no constraints, Tapestry will now implicitly order the added element 
after the previously added element, within the same method. In prior releases, 
such elements were added with no constraints. This makes it easier to 
contribute a group of related items with an implicit ordering.</p><h3 
id="ReleaseNotes5.3-NewComponentClassValidations">New Component
  Class Validations</h3><p>Tapestry includes new validations of component 
classes to help cut down on many common errors; Tapestry now checks that 
component ids referenced by an event handler method (the 
<code>From</code><em>component id</em> part of the method name) actually 
matches a component defined in the template ... this quickly identifies typos 
in method names. This check can be disabled with a configuration symbol, as 
existing 5.2 apps may have such errors and still operate (that is, they may 
have <em>dead</em> event handler methods that will never be invoked).</p><h3 
id="ReleaseNotes5.3-ApplicationFolder">Application Folder</h3><p>Tapestry can 
now be configured to execute inside a folder, which can be useful when running 
Tapestry inside a web application that contains other servlets or filters, as a 
way to prevent conflicts.</p><h3 
id="ReleaseNotes5.3-ImprovedQuickstartArchetype">Improved Quickstart 
Archetype</h3><p>The Maven quickstart archetype has been brought up to date
 , and now demonstrates several new bits of common useful functionality. It 
also generates support for <a  class="external-link" href=""; 
rel="nofollow">Gradle</a> as the build tool.</p><h3 
id="ReleaseNotes5.3-WhitelistedPages">Whitelisted Pages</h3><p>The new @<a  
 annotation marks a page as accessible only from white-listed clients; the 
rules for the whitelist are <a  class="external-link" 
 The default rule is that only access from localhost is on the white-list. Use 
this annotation on pages that may expose sensitive data, such as built-in 
application dashboards and the like.</p><h3 
id="ReleaseNotes5.3-PageCatalog">Page Catalog</h3><p>Tapestry applications now 
include a built-in "PageCatalog" page, w
 hich lists all the loaded pages of the application, with details about 
construction time and number of components. The page requires whitelist access 
(see above comment), and some functionality is only available in development 
mode. PageCatalog can be used to load all pages of your application, which is 
useful to quickly spot problems in your pages ... especially useful when 
upgrading from a prior release of Tapestry.</p><h3 
id="ReleaseNotes5.3-Client-SideJavaScriptLogging">Client-Side JavaScript 
Logging</h3><p>The integrated Blackbird client-side console has been removed. 
In its place are the floating console messages combined with logging to the 
Firebug or WebKit console. Tapestry no longer captures JavaScript 
initialization exceptions, so that they may be properly reported to the native 
console. These changes should make debugging client-side JavaScript much 
easier.</p><p>In addition, Tapestry will now display a pop-up window containing 
the full exception report for a server-side
  error that occurs during an Ajax request, which makes debugging server-side 
problems that occur as part of an Ajax request <em>significantly</em> easier. 
Note that this logic is tied to performing a <a  class="external-link" 
 update.</p><h2 id="ReleaseNotes5.3-Sub-tasksCompleted">Sub-tasks 
href="";>TAP5-1433</a>] -         
Remove deprecated methods of PerthreadManager service
href="";>TAP5-1434</a>] -         
Remove old IOCSymbols class, and outdated constants from IOCConstants

Modified: websites/production/tapestry/content/release-upgrade-faq.html
--- websites/production/tapestry/content/release-upgrade-faq.html (original)
+++ websites/production/tapestry/content/release-upgrade-faq.html Tue Apr 10 
04:22:28 2018
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><h1 
id="ReleaseUpgradeFAQ-ReleaseUpgrade">Release Upgrade</h1><p>Main Article: <a  
href="release-upgrade-faq.html">Release Upgrade FAQ</a></p><h2 
-div.rbtoc1519597244920 {padding: 0px;}
-div.rbtoc1519597244920 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597244920 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334067127 {padding: 0px;}
+div.rbtoc1523334067127 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334067127 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597244920">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334067127">
 <ul class="toc-indentation"><li><a  
 do I get an exception about after upgrading to 
 do I get an exception about after upgrading to 
5.2?</h2><p>Although Tapestry works very hard to keep backwards compatibility 
between releases for <em>public</em> APIs, all <em>internal</em> APIs are 
subject to change. This error is commonly due to the use of the ChenilleKit 
library, which makes use of some internal APIs. You must also upgrade your 
ChenilleKit dependency when moving from Tapestry 5.1 to 5.2 or later. See the 
<a  class="external-link" 
rel="nofollow">complete discussion of this from the Tapestry user mailing 

Modified: websites/production/tapestry/content/request-processing-faq.html
--- websites/production/tapestry/content/request-processing-faq.html (original)
+++ websites/production/tapestry/content/request-processing-faq.html Tue Apr 10 
04:22:28 2018
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><h1 
id="RequestProcessingFAQ-RequestProcessing">Request Processing</h1><h2 
-div.rbtoc1519597256353 {padding: 0px;}
-div.rbtoc1519597256353 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597256353 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334075063 {padding: 0px;}
+div.rbtoc1523334075063 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334075063 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597256353">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334075063">
 <ul class="toc-indentation"><li><a  
href="#RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How do I get 
Tapestry to not handle a request?</a></li></ul>
 </div><h2 id="RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How 
do I get Tapestry to <strong>not</strong> handle a request?</h2><p>Often, when 
<a  href="integration-with-existing-applications.html">integrating with outside 
libraries, or working with legacy code</a>, you will want Tapestry to ignore a 
request and let the normal servlet or other processing handle the 
request.</p><p>The easy way to do this is to contribute a regular expression to 
the <a  href="configuration.html">IgnoredPathsFilter service</a>, whose job is 
to exclude some requests.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">public static void 
contributeIgnoredPathsFilter(Configuration&lt;String&gt; configuration)

Modified: websites/production/tapestry/content/security-faq.html
--- websites/production/tapestry/content/security-faq.html (original)
+++ websites/production/tapestry/content/security-faq.html Tue Apr 10 04:22:28 
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><h1 
id="SecurityFAQ-Security">Security</h1><p>Main Article: <a  
id="SecurityFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1519597247658 {padding: 0px;}
-div.rbtoc1519597247658 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597247658 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334069206 {padding: 0px;}
+div.rbtoc1523334069206 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334069206 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597247658">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334069206">
 <ul class="toc-indentation"><li><a  
 built-in Dashboard page are visible in my production application and I don't 
want them to be, what can I do?</a></li></ul>
 </div><p>&#160;</p><div class="aui-label" style="float:right" title="Related 

Modified: websites/production/tapestry/content/session-storage.html
--- websites/production/tapestry/content/session-storage.html (original)
+++ websites/production/tapestry/content/session-storage.html Tue Apr 10 
04:22:28 2018
@@ -122,11 +122,11 @@
 <p>Ordinary <a  href="persistent-page-data.html">page-persistent 
fields</a></p><p>won't work for this, since persistent fields are available 
only to a specific page, not shared across multiple pages.</p><p>Tapestry 
provides two mechanisms for storing such data: Session State Objects and 
Session Attributes. When deciding between the two, it's best to use Session 
State Objects for complex objects, and Session Attributes for simple 
types.</p><h2 id="SessionStorage-SessionStateObjects">Session State 
Objects</h2><p>With a Session State Object (SSO), the value is automatically 
stored outside the page; with the default storage strategy, it is stored in the 
session. Such a value is global to all pages <em>for the same user</em>, but is 
stored separately for different users.</p><p>A field holding an SSO is marked 
with the @<a  class="external-link" 
 annotation.</p><div class="
 navmenu" style="float:right; background:white; margin:3px; padding:3px">
 <div class="panel" style="border-width: 1px;"><div class="panelHeader" 
style="border-bottom-width: 1px;"><b>Contents</b></div><div 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1519597267062 {padding: 0px;}
-div.rbtoc1519597267062 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597267062 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334086243 {padding: 0px;}
+div.rbtoc1523334086243 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334086243 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1519597267062">
+/*]]>*/</style><div class="toc-macro rbtoc1523334086243">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a  href="#SessionStorage-SessionStateObjects">Session State 
 <ul class="toc-indentation"><li><a  
href="#SessionStorage-CheckforCreation">Check for Creation</a></li><li><a  
Strategies</a></li><li><a  href="#SessionStorage-ConfiguringSSOs">Configuring 

Modified: websites/production/tapestry/content/specific-errors-faq.html
--- websites/production/tapestry/content/specific-errors-faq.html (original)
+++ websites/production/tapestry/content/specific-errors-faq.html Tue Apr 10 
04:22:28 2018
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><h1 
id="SpecificErrorsFAQ-SpecificErrors">Specific Errors</h1><h2 
-div.rbtoc1519597257796 {padding: 0px;}
-div.rbtoc1519597257796 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597257796 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334076705 {padding: 0px;}
+div.rbtoc1523334076705 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334076705 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597257796">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334076705">
 <ul class="toc-indentation"><li><a  
 do I get the exception "No service implements the interface 
org.apache.tapestry5.internal.InternalComponentResources" when trying to use 
the BeanEditForm component?</a></li><li><a  
 get an error about "Page did not generate any markup when rendered." but I 
have a template, what happened?</a></li><li><a  
 application fails with the error PermGen, how do I fix this?</a></li><li><a  
 do I sometimes get a java.lang.NoSuchMethodError exception after reloadi
 ng my page?</a></li><li><a  
 do my logs contain "java.lang.RuntimeException: Forms require that the request 
method be POST and that the t:formdata query parameter have 
 </div><div class="aui-label" style="float:right" title="Related Articles">

--- websites/production/tapestry/content/tapestry-inversion-of-control-faq.html 
+++ websites/production/tapestry/content/tapestry-inversion-of-control-faq.html 
Tue Apr 10 04:22:28 2018
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><h1 
Inversion of Control Container</h1><p>Main article: <a  
href="tapestry-inversion-of-control-faq.html">Tapestry IoC</a></p><h2 
-div.rbtoc1519597198901 {padding: 0px;}
-div.rbtoc1519597198901 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597198901 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334017365 {padding: 0px;}
+div.rbtoc1523334017365 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334017365 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597198901">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334017365">
 <ul class="toc-indentation"><li><a  
 do I need to define an interface for my services? Why can't I just use the 
class itself?</a></li><li><a  
 service starts a thread; how do I know when the application is shutting down, 
to stop that thread?</a></li><li><a  
 do I make my service startup with the rest of the application, rather than 
 </div><p>&#160;</p><div class="aui-label" style="float:right" title="Related 

Modified: websites/production/tapestry/content/templating-and-markup-faq.html
--- websites/production/tapestry/content/templating-and-markup-faq.html 
+++ websites/production/tapestry/content/templating-and-markup-faq.html Tue Apr 
10 04:22:28 2018
@@ -78,11 +78,11 @@
       <div id="content">
                 <div id="ConfluenceContent"><h1 
id="TemplatingandMarkupFAQ-TemplatingandMarkup">Templating and 
Markup</h1><p>Main Article: <a  href="component-templates.html">Component 
-div.rbtoc1519597258715 {padding: 0px;}
-div.rbtoc1519597258715 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1519597258715 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1523334077760 {padding: 0px;}
+div.rbtoc1523334077760 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1523334077760 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1519597258715">
+/*]]>*/</style></p><div class="toc-macro rbtoc1523334077760">
 <ul class="toc-indentation"><li><a  
 do I get a SAXParseException when I use an HTML entity, such as &amp;nbsp; in 
my template?</a></li><li><a  
do some images in my page show up as broken links?</a></li><li><a  
href="#TemplatingandMarkupFAQ-What'sthedifferencebetweenidandt:id?">What's the 
difference between id and t:id?</a></li><li><a  
 do my images and stylesheets end up with a weird URLs like 
href="#TemplatingandMarkupFAQ-HowdoIaddaCSSclasstoaTapestrycomponent?">How do I 
add a CSS class to a Tapestry component?</a></li></ul>
 do I get a SAXParseException when I use an HTML entity, such as 
<code>&amp;nbsp;</code> in my template?</h2><p>Tapestry uses a standard SAX 
parser to read your templates. This means that your templates must be <em>well 
formed</em>: open and close tags must balance, attribute values must be quoted, 
and entities must be declared. The easiest way to accomplish this is to add a 
DOCTYPE to your the top of your template:</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;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 

Reply via email to