Modified: websites/production/tapestry/content/limitations.html
==============================================================================
--- websites/production/tapestry/content/limitations.html (original)
+++ websites/production/tapestry/content/limitations.html Mon Feb 19 19:21:08 
2018
@@ -77,7 +77,14 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h2 
id="Limitations-Limitations">Limitations</h2><h3 
id="Limitations-HowdoIaddnewcomponentstoanexistingpagedynamically?">How do I 
add new components to an existing page dynamically?</h3><p>The short answer 
here is: <strong>you don't</strong>. The long answer here is <strong>you don't 
have to, to get the behavior you desire</strong>.</p><p>One of Tapestry basic 
values is high scalability: this is expressed in a number of ways, reflecting 
scalability concerns within a single server, and within a cluster of 
servers.</p><p>Although you code Tapestry pages and components as if they were 
ordinary POJOs (<span>Plain Old Java Objects -- Tapestry does not require you 
to extend any base classes or implement any special interfaces)</span><span>, 
as deployed by Tapestry they are closer to a traditional servlet: a single 
instance of each page services requests from multiple threads. Behind the 
scenes, Tapestry transforms you code, rewriting it on the f
 ly.</span></p><p>What this means is that <em>any</em> incoming request must be 
handled by a <em>single page instance</em>. Therefore, Tapestry enforces the 
concept of <strong>static structure, dynamic behavior</strong>.</p><p>Tapestry 
provides quite a number of ways to vary what content is rendered, well beyond 
simple conditionals and loops. It is possible to "drag in" components from 
other pages when rendering a page (other FAQs will expand on this concept). The 
point is, that although a Tapestry page's structure is very rigid, the order in 
which the components of the page render does not have to be top to 
bottom.</p><h3 
id="Limitations-Whydoesn'tmyserviceimplementationreloadwhenIchangeit?">Why 
doesn't my service implementation reload when I change it?</h3><p>Main article: 
<a  href="limitations.html">Limitations</a></p><p>Live service reloading has 
some limitations:</p><ul><li>The service must define a service 
interface.</li><li>The service implementation must be on the file system
  (not inside a JAR).</li><li>The implementation must be instantiated by 
Tapestry, not inside code (even code inside a module class).</li><li>The 
service must use the default <a  href="limitations.html">scope</a> (reloading 
of perthread scopes is not supported).</li></ul><p>Consider the following 
example module:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h1 
id="Limitations-Limitations">Limitations</h1><h2 
id="Limitations-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
+div.rbtoc1519068034475 {padding: 0px;}
+div.rbtoc1519068034475 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1519068034475 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1519068034475">
+<ul class="toc-indentation"><li><a  
href="#Limitations-HowdoIaddnewcomponentstoanexistingpagedynamically?">How do I 
add new components to an existing page dynamically?</a></li><li><a  
href="#Limitations-Whydoesn'tmyserviceimplementationreloadwhenIchangeit?">Why 
doesn't my service implementation reload when I change it?</a></li><li><a  
href="#Limitations-HowdoIrunmultipleTapestryapplicationsinthesamewebapplication?">How
 do I run multiple Tapestry applications in the same web 
application?</a></li></ul>
+</div><h2 
id="Limitations-HowdoIaddnewcomponentstoanexistingpagedynamically?">How do I 
add new components to an existing page dynamically?</h2><p>The short answer 
here is: <strong>you don't</strong>. The long answer here is <strong>you don't 
have to, to get the behavior you desire</strong>.</p><p>One of Tapestry basic 
values is high scalability: this is expressed in a number of ways, reflecting 
scalability concerns within a single server, and within a cluster of 
servers.</p><p>Although you code Tapestry pages and components as if they were 
ordinary POJOs (<span>Plain Old Java Objects -- Tapestry does not require you 
to extend any base classes or implement any special interfaces)</span><span>, 
as deployed by Tapestry they are closer to a traditional servlet: a single 
instance of each page services requests from multiple threads. Behind the 
scenes, Tapestry transforms you code, rewriting it on the 
fly.</span></p><p>What this means is that <em>any</em> incoming request must be 
handled 
 by a <em>single page instance</em>. Therefore, Tapestry enforces the concept 
of <strong>static structure, dynamic behavior</strong>.</p><p>Tapestry provides 
quite a number of ways to vary what content is rendered, well beyond simple 
conditionals and loops. It is possible to "drag in" components from other pages 
when rendering a page (other FAQs will expand on this concept). The point is, 
that although a Tapestry page's structure is very rigid, the order in which the 
components of the page render does not have to be top to bottom.</p><h2 
id="Limitations-Whydoesn'tmyserviceimplementationreloadwhenIchangeit?">Why 
doesn't my service implementation reload when I change it?</h2><p>Main article: 
<a  href="service-implementation-reloading.html">Service Implementation 
Reloading</a></p><p>Live service reloading has some limitations:</p><ul><li>The 
service must define a service interface.</li><li>The service implementation 
must be on the file system (not inside a JAR).</li><li>The implementati
 on must be instantiated by Tapestry, not inside code (even code inside a 
module class).</li><li>The service must use the default <a  
href="limitations.html">scope</a> (reloading of perthread scopes is not 
supported).</li></ul><p>Consider the following example module:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="brush: java; gutter: true; theme: Default" 
style="font-size:12px;">public static void bind(ServiceBinder binder)
 {
   binder.bind(ArchiveService.class, ArchiveServiceImpl.class);
@@ -92,7 +99,7 @@ public static JobQueue buildJobQueue(Mes
   return service;
 }
 </pre>
-</div></div><p>ArchiveService is reloadable, because Tapestry instantiates 
<code>ArchiveServiceImpl</code> itself. On the other hand, Tapestry invokes 
<code>buildJobQueue()</code> and it is your code inside the method that 
instantiates <code>JobQueueImpl</code>, so the JobQueue service will not be 
reloadable.</p><p>Finally, only classes whose class files are stored directly 
on the file system, and not packaged inside JARs, are ever reloadable ... 
generally, only the services of the application being built (and not services 
from libraries) will be stored on the file system. This reflects the intent of 
reloading: as an agile development tool, but not something to be used in 
deployment.</p><h3 
id="Limitations-HowdoIrunmultipleTapestryapplicationsinthesamewebapplication?">How
 do I run multiple Tapestry applications in the same web 
application?</h3><p>Running multiple Tapestry 5 applications is not supported; 
there's only one place to identify the application root package, so even config
 uring multiple filters into multiple folders will not work.</p><p>Support for 
multiple Tapestry applications in the same web application was a specific 
non-goal in Tapestry 5 (it needlessly complicated Tapestry 4). Given how 
loosely connected Tapestry 5 pages are from each other, there doesn't seem to 
be an advantage to doing so ... and certainly, in terms of memory utilization, 
there is a significant down side, were it even 
possible.</p><p>You&#160;<em>can</em>&#160;<span style="color: rgb(0,0,0);">run 
a Tapestry 4 app and a Tapestry 5 app side-by-side (the package names are 
different, for just this reason), but they know nothing of each other, and 
can't interact directly. This is just like the way you could have a single WAR 
with multiple servlets; the different applications can only communicate via 
URLs, or shared state in the 
HttpSession.</span>&#160;</p><p>&#160;</p><p>&#160;</p></div>
+</div></div><p>ArchiveService is reloadable, because Tapestry instantiates 
<code>ArchiveServiceImpl</code> itself. On the other hand, Tapestry invokes 
<code>buildJobQueue()</code> and it is your code inside the method that 
instantiates <code>JobQueueImpl</code>, so the JobQueue service will not be 
reloadable.</p><p>Finally, only classes whose class files are stored directly 
on the file system, and not packaged inside JARs, are ever reloadable ... 
generally, only the services of the application being built (and not services 
from libraries) will be stored on the file system. This reflects the intent of 
reloading: as an agile development tool, but not something to be used in 
deployment.</p><h2 
id="Limitations-HowdoIrunmultipleTapestryapplicationsinthesamewebapplication?">How
 do I run multiple Tapestry applications in the same web 
application?</h2><p>Running multiple Tapestry 5 applications is not supported; 
there's only one place to identify the application root package, so even config
 uring multiple filters into multiple folders will not work.</p><p>Support for 
multiple Tapestry applications in the same web application was a specific 
non-goal in Tapestry 5 (it needlessly complicated Tapestry 4). Given how 
loosely connected Tapestry 5 pages are from each other, there doesn't seem to 
be an advantage to doing so ... and certainly, in terms of memory utilization, 
there is a significant down side, were it even 
possible.</p><p>You&#160;<em>can</em>&#160;<span style="color: rgb(0,0,0);">run 
a Tapestry 4 app and a Tapestry 5 app side-by-side (the package names are 
different, for just this reason), but they know nothing of each other, and 
can't interact directly. This is just like the way you could have a single WAR 
with multiple servlets; the different applications can only communicate via 
URLs, or shared state in the 
HttpSession.</span>&#160;</p><p>&#160;</p><p>&#160;</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/link-components-faq.html
==============================================================================
--- websites/production/tapestry/content/link-components-faq.html (original)
+++ websites/production/tapestry/content/link-components-faq.html Mon Feb 19 
19:21:08 2018
@@ -77,7 +77,14 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h2 
id="LinkComponentsFAQ-LinkComponents">Link Components</h2><h3 
id="LinkComponentsFAQ-HowdoIaddqueryparameterstoaPageLinkorActionLink?">How do 
I add query parameters to a PageLink or ActionLink?</h3><p>These components do 
not have parameters to allow you to specify query parameters for the link; they 
both allow you to specify a <em>context</em> (one or more values to encode into 
the request path).</p><p>However, you can accomplish the same thing with a 
little code and markup. For example, to create a link to another page and pass 
a query parameter, you can replace your PageLink component with a standard 
<code>&lt;a&gt;</code> tag:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><p>&#160;</p><p>&#160;</p><h1 
id="LinkComponentsFAQ-LinkComponents">Link Components</h1><p>Main Articles: <a  
href="page-navigation.html">Page Navigation</a>, <a  
href="component-parameters.html">Component Parameters</a></p><h2 
id="LinkComponentsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1519068036913 {padding: 0px;}
+div.rbtoc1519068036913 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1519068036913 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1519068036913">
+<ul class="toc-indentation"><li><a  
href="#LinkComponentsFAQ-HowdoIaddqueryparameterstoaPageLinkorActionLink?">How 
do I add query parameters to a PageLink or ActionLink?</a></li><li><a  
href="#LinkComponentsFAQ-HowdoIcreateaLinkbacktothecurrentpagefromacomponent?">How
 do I create a Link back to the current page from a component?</a></li></ul>
+</div><h2 
id="LinkComponentsFAQ-HowdoIaddqueryparameterstoaPageLinkorActionLink?">How do 
I add query parameters to a PageLink or ActionLink?</h2><p>These components do 
not have parameters to allow you to specify query parameters for the link; they 
both allow you to specify a <em>context</em> (one or more values to encode into 
the request path).</p><p>However, you can accomplish the same thing with a 
little code and markup. For example, to create a link to another page and pass 
a query parameter, you can replace your PageLink component with a standard 
<code>&lt;a&gt;</code> tag:</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;a href="${profilePageLink}"&gt;Display Profile (w/ 
full details)&lt;/a&gt;
 </pre>
 </div></div><p>In the matching Java class, you can create the Link 
programmatically:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
@@ -91,7 +98,7 @@
     return link;
   }
 </pre>
-</div></div><p>... and in the DisplayProfile page:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>... and in the DisplayProfile page:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>DisplayProfile.java 
(partial)</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">public class DisplayProfile
 {
   void onActivate(@RequestParameter("detail") boolean detail)
@@ -106,10 +113,8 @@
 
 <div class="aui-message aui-message-info">
 Added in 5.3 
-   You may also bind a link component's {{parameters}} parameter; this is a 
Map of additional query parameters to add to the URL.  The Map keys should be 
strings, and the Map values will be encoded to strings.  Tapestry 5.3 also adds 
a literal map syntax to the [property expression language|TAPESTRY:Property 
Expressions].
-
-
-</div><h3 
id="LinkComponentsFAQ-HowdoIcreateaLinkbacktothecurrentpagefromacomponent?">How 
do I create a Link back to the current page from a component?</h3><p>Sometimes 
it is useful to create a link back to the current page, but you don't always 
know the name of the page (the link may appear inside a deeply nested 
subcomponent). Fortunately, this is easy.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+   You may also bind a link component's <code>parameters</code> parameter; 
this is a Map of additional query parameters to add to the URL. The Map keys 
should be strings, and the Map values will be encoded to strings. Tapestry 5.3 
also adds a literal map syntax to the <a  href="property-expressions.html" 
rel="nofollow">property expression language</a>.
+</div><h2 
id="LinkComponentsFAQ-HowdoIcreateaLinkbacktothecurrentpagefromacomponent?">How 
do I create a Link back to the current page from a component?</h2><p>Sometimes 
it is useful to create a link back to the current page, but you don't always 
know the name of the page (the link may appear inside a deeply nested 
subcomponent). Fortunately, this is easy.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:pagelink 
page="prop:componentResources.pageName"&gt;refresh page&lt;/t:pagelink&gt;
 </pre>
 </div></div><p>Every component has an extra property, componentResources, 
added to it: it's the instance of <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ComponentResources.html";>ComponentResources</a>
 that represents the link between your code and all of Tapestry's structure 
around your class. One of the properties of ComponentResources is pageName, the 
name of the page. By binding the PageLink's page parameter with the "prop:" 
binding prefix, we ensure that we bind to a computed property; this is 
necessary because the PageLink.page parameter defaults to the "literal:" 
binding prefix.</p><p>As an added benefit, if the page class is ever renamed or 
moved to a different package, the pageName property will automatically adjust 
to the new name.</p></div>

Modified: websites/production/tapestry/content/maven-support-faq.html
==============================================================================
--- websites/production/tapestry/content/maven-support-faq.html (original)
+++ websites/production/tapestry/content/maven-support-faq.html Mon Feb 19 
19:21:08 2018
@@ -77,7 +77,14 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h2 
id="MavenSupportFAQ-MavenSupport">Maven Support</h2><h3 
id="MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why 
do Maven project names and other details show up in my pages?</h3><p>Tapestry 
and maven both use the same syntax for dynamic portions of files: the 
<code>${...</code>} syntax. When Maven is copying resources from 
<code>src/main/resources</code>, and when filtering is <em>enabled</em> (which 
is not the default), then any expansions in <em>Tapestry templates</em> that 
match against Maven project properties are substituted. If you look at the 
deployed application you'll see that <code>${name</code>} is gone, replaced 
with your project's name!</p><p>The solution is to update your 
<code>pom.xml</code> and ignore any .tml files when copying and 
filtering:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>pom.xml 
(partial)</b>
 </div><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h1 
id="MavenSupportFAQ-MavenSupport">Maven Support</h1><h2 
id="MavenSupportFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1519068037419 {padding: 0px;}
+div.rbtoc1519068037419 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1519068037419 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1519068037419">
+<ul class="toc-indentation"><li><a  
href="#MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why
 do Maven project names and other details show up in my pages?</a></li></ul>
+</div><h2 
id="MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why 
do Maven project names and other details show up in my pages?</h2><p>Tapestry 
and maven both use the same syntax for dynamic portions of files: the 
<code>${...</code>} syntax. When Maven is copying resources from 
<code>src/main/resources</code>, and when filtering is <em>enabled</em> (which 
is not the default), then any expansions in <em>Tapestry templates</em> that 
match against Maven project properties are substituted. If you look at the 
deployed application you'll see that <code>${name</code>} is gone, replaced 
with your project's name!</p><p>The solution is to update your 
<code>pom.xml</code> and ignore any .tml files when copying and 
filtering:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>pom.xml 
(partial)</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">  &lt;resource&gt;
     &lt;directory&gt;src/main/resources&lt;/directory&gt;
     &lt;excludes&gt;

Modified: websites/production/tapestry/content/release-notes-50.html
==============================================================================
--- websites/production/tapestry/content/release-notes-50.html (original)
+++ websites/production/tapestry/content/release-notes-50.html Mon Feb 19 
19:21:08 2018
@@ -77,12 +77,12 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>This is the consolidated list 
of changes between Tapestry versions 5.0.3 and 5.0.19. Before upgrading, be 
sure to review the <a  href="release-notes-50.html">Release Notes 5.0</a> 
instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1518405705611 {padding: 0px;}
-div.rbtoc1518405705611 ul {list-style: disc;margin-left: 0px;padding-left: 
5px;}
-div.rbtoc1518405705611 li {margin-left: 0px;padding-left: 0px;}
+                <div id="ConfluenceContent"><p>This is the consolidated list 
of changes between Tapestry versions 5.0.3 and 5.0.19. 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 
type="text/css">/*<![CDATA[*/
+div.rbtoc1519068039608 {padding: 0px;}
+div.rbtoc1519068039608 ul {list-style: disc;margin-left: 0px;padding-left: 
5px;}
+div.rbtoc1519068039608 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1518405705611">
+/*]]>*/</style></p><div class="toc-macro rbtoc1519068039608">
 <ul class="toc-indentation"><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.19">Tapestry Version 
5.0.19</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.18">Tapestry 
Version 5.0.18</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.17">Tapestry Version 
5.0.17</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.16">Tapestry 
Version 5.0.16</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.15">Tapestry Version 
5.0.15</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.14">Tapestry 
Version 5.0.14</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.13">Tapestry Version 
5.0.13</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.12">Tapestry 
Version 5.0.12</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.11">Tapestry Version 
5.0.11</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.10">Tapestry 
Version 5.0.10</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.9">Tapestry Version 
5.0.9</a></li><li><a  href="#ReleaseNot
 es5.0-TapestryVersion5.0.8">Tapestry Version 5.0.8</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.7">Tapestry Version 
5.0.7</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.6">Tapestry 
Version 5.0.6</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.5">Tapestry Version 
5.0.5</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.4">Tapestry 
Version 5.0.4</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.3">Tapestry Version 
5.0.3</a></li></ul>

[... 3 lines stripped ...]
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 Mon Feb 19 
19:21:08 2018
@@ -77,12 +77,12 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>This is the consolidated list 
of changes between Tapestry versions 5.0 and 5.1. Before upgrading, be sure to 
review the <a  href="release-notes-51.html">Release Notes 5.1</a> 
instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1518405646145 {padding: 0px;}
-div.rbtoc1518405646145 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1518405646145 li {margin-left: 0px;padding-left: 0px;}
+                <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 
type="text/css">/*<![CDATA[*/
+div.rbtoc1519068037964 {padding: 0px;}
+div.rbtoc1519068037964 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1519068037964 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1518405646145">
+/*]]>*/</style></p><div class="toc-macro rbtoc1519068037964">
 <ul class="toc-indentation"><li><a  
href="#ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version 
5.1.0.5</a></li><li><a  href="#ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry 
Version 5.1.0.4</a></li><li><a  
href="#ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry Version 
5.1.0.3</a></li><li><a  href="#ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry 
Version 5.1.0.2</a></li><li><a  
href="#ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version 
5.1.0.1</a></li><li><a  href="#ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry 
Version 5.1.0.0</a></li></ul>
 </div><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version 
5.1.0.5</h2><h3 id="ReleaseNotes5.1-BugsFixed">Bugs Fixed</h3><ul><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-604";>TAP5-604</a> &#8211; 
ValidationMessages_da.properties contains invalid format strings</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-664";>TAP5-664</a> &#8211; 
Incorrect "legacy" URI specified in the templates documentation</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-665";>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="https://issues.apache.org/jira/browse/TAP5-666";>TAP5-666</a> &#8211; 
Property expression can not pass a boolean constant into a method</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-668";>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="https://issues.apache.org/jira/browse/TAP5-670";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-214";>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="https://issues.apache.org/jira/browse/TAP5-506";>TAP5-506</a> &#8211; 
Italian localization for DateField component</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-531";>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="https://issues.apache.org/jira/browse/TAP5-579";>TAP5-579</a> &#8211; 
Finnish internation
 alization is missing some of the keys in 5.1</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-651";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-223";>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="https://issues.apache.org/jira/browse/TAP5-580";>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="https://issues.apache.org/jira/browse/TAP5-601";>TAP5-601</a> &#8211; Add 
German translation for client-side JavaScript messages</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry Version 5.1.0.4</h2><h3 
id="ReleaseNotes5.1-BugsFixed.1">Bugs Fixed</h3>
 <ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-130";>TAP5-130</a> &#8211; 
Tapestry component report fails if the project's path name contains 
spaces</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-353";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-500";>TAP5-500</a> &#8211; 
Small typo in javadoc comments for Cookies service.</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-501";>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="https://issues.apache.org/jira/browse/TAP5-524";>TAP5-524</a> &#8211; 
Published pa
 rameters exposed from embedded components not included in Component 
Reference</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-571";>TAP5-571</a> &#8211; 
Misplaced &lt;t:parameter&gt; results in an inscrutable exception</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-613";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-622";>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="https://issues.apache.org/jira/browse/TAP5-631";>TAP5-631</a> &#8211; 
Contributed ApplicationInitializer not always executed when using 
tapestry-spring</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-640";>TAP5-640</a
 > &#8211; DOM manipulation during rendering can NPE</li><li><a  
 > class="external-link" 
 > href="https://issues.apache.org/jira/browse/TAP5-641";>TAP5-641</a> &#8211; 
 > Inherited parameters that are themselves inherited will appear 
 > null</li><li><a  class="external-link" 
 > href="https://issues.apache.org/jira/browse/TAP5-644";>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="https://issues.apache.org/jira/browse/TAP5-646";>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="https://issues.apache.org/jira/browse/TAP5-647";>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="https://issues.apache.org/jira/browse/TAP5-648";>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="https://issues.apache.org/jira/browse/TAP5-649";>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="https://issues.apache.org/jira/browse/TAP5-652";>TAP5-652</a> &#8211; 
Script tag is missing required attribute type</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-653";>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="https://issues.apache.org/jira/browse/TAP5-659";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-274";>TAP5-274</a> &#8211; 
Application State Object is a misleading term; rename @ApplicationState to 
@SessionState</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-612";>TAP5-612</a> &#8211; 
URLRewriting should distinguish between incoming and outgoing 
requests</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-629";>TAP5-629</a> &#8211; 
Ensure blackbird console appears on top of other page elements</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-654";>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="https://issues.apache.org/jira/browse/TAP5-655";>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="https://issues.apache.org/jira/browse/TAP5-657";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-661";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-624";>TAP5-624</a> &#8211; 
Support for javascript callbacks on zone update</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-642";>TAP5-642</a> &#8211; 
Document how to configure Glassfish 2.
 1 to deploy Tapestry applications</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-662";>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 5.1.0.3</h2><h3 id="ReleaseNotes5.1-BugsFixed.2">Bugs 
Fixed</h3><ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-469";>TAP5-469</a> &#8211; 
ResponseCompressionAnalyzer: application/json responses should be 
uncompressable by default</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-596";>TAP5-596</a> &#8211; 
Misleading description of allowNull parameter of Parameter annotation in 
javadoc</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-602";>TAP5-602</a> &#8211; 
Contributing to TypeCoercer with service fails even with 
@InjectService</li><li><a  class="external-link" href="https://issues.a
 pache.org/jira/browse/TAP5-603">TAP5-603</a> &#8211; BeanEditForm ordering 
behaviour inconsistent with documentation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-608";>TAP5-608</a> &#8211; 
Quickstart archetype is broken for 5.1.0.2: missing 
META-INF/maven/archetype.xml</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-610";>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="https://issues.apache.org/jira/browse/TAP5-615";>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="https://issues.apache.org/jira/browse/TAP5-616";>TAP5-616</a> &#8211; 
Hidden component does not properly decode submitted data</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-621";>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="https://issues.apache.org/jira/browse/TAP5-625";>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="https://issues.apache.org/jira/browse/TAP5-626";>TAP5-626</a> &#8211; The 
copyright message in Layout.tml is "groupid" not the expanded groupId 
value</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-630";>TAP5-630</a> &#8211; 
Blackbird error console class names are too generic and can easily 
conflict</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-636";>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="https://issues.apache.org/jira/browse/TAP5-432";>TAP5-432</a> &#8211; 
Allow setting the id of a FormFragment component</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-483";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-614";>TAP5-614</a> &#8211; 
Spacer image should have a blank alt attribute to meet w3c accessability 
standards</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-634";>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="https://issues.apache.org/jira/browse/TAP5-548";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-617";>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="https://issues.apache.org/jira/browse/TAP5-619";>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 5.1.0.2</h2><h3 
id="ReleaseNotes5.1-BugsFixed.3">Bugs Fixed</h3><ul><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-39";>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
 ache.org/jira/browse/TAP5-573">TAP5-573</a> &#8211; NullPointerException 
during AJAX form submit</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-578";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-590";>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="https://issues.apache.org/jira/browse/TAP5-593";>TAP5-593</a> &#8211; 
Calling ApplicationStateManager.exists() will throw an exception when the 
session has been invalidated</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-598";>TAP5-598</a> &#8211; 
Hard-coded messages inside tapestry.js are not localized</li><li><a  
class="external-link" href="https://issues.
 apache.org/jira/browse/TAP5-600">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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-265";>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="https://issues.apache.org/jira/browse/TAP5-398";>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="https://issues.apache.org/jira/browse/TAP5-566";>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" 
href="https://issues.apache.org/jira/browse/TAP5-581";>TAP5-581</a> 
 &#8211; Quickstart archetype should include testng.xml and 
webdefault.xml</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-584";>TAP5-584</a> &#8211; Omit 
generator meta (from head element) when root element is not html</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-586";>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="https://issues.apache.org/jira/browse/TAP5-589";>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="https://issues.apache.org/jira/browse/TAP5-591";>TAP5-591</a> &#8211; FAQ: 
Creating a page render Link from a service</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-605";>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="https://issues.apache.org/jira/browse/TAP5-288";>TAP5-288</a> &#8211; 
Replace JavaScript client-side logging with Blackbird</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-549";>TAP5-549</a> &#8211; 
JavaScript libraries should be combined into a single request</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-557";>TAP5-557</a> &#8211; 
Provide support for URL rewriting</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-562";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-594";>TAP5-594</a> &#8211; Add 
simple PageRenderLinkSource service to allow services to create Links to 
pages</li></u
 l><h3 id="ReleaseNotes5.1-TasksCompleted.1">Tasks Completed</h3><ul><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-510";>TAP5-510</a> &#8211; 
Improve code coverage of JSON unit tests</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-575";>TAP5-575</a> &#8211; Add 
svn:eol-style=native to source files</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version 5.1.0.1</h2><h3 
id="ReleaseNotes5.1-BugsFixed.4">Bugs Fixed</h3><ul><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-211";>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="https://issues.apache.org/jira/browse/TAP5-374";>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="https://issues.apache.org/jira/browse/TAP5-512";>TAP5-512</a> &#8211; 
Documentation on how to secure pages contains errors in the sample 
code</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-520";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-530";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-535";>TAP5-535</a> &#8211; 
PageTester should use overrides of FactoryDefaults, not contributions to 
ApplicationDefaults</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-537";>TAP5-537<
 /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="https://issues.apache.org/jira/browse/TAP5-552";>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="https://issues.apache.org/jira/browse/TAP5-555";>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="https://issues.apache.org/jira/browse/TAP5-559";>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="https://issues.apache.org/jira/browse/TAP5-84";>TAP5-84</a> &#8211; Change 
proxy generation to use volatile fields rather than
  synchronized blocks</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-108";>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="https://issues.apache.org/jira/browse/TAP5-345";>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="https://issues.apache.org/jira/browse/TAP5-367";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-418";>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" 
href="https://issues.apache.org/jira/browse/
 TAP5-502">TAP5-502</a> &#8211; Improve the description of parameter passing 
and binding in the documentation</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-525";>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="https://issues.apache.org/jira/browse/TAP5-527";>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="https://issues.apache.org/jira/browse/TAP5-536";>TAP5-536</a> &#8211; Move 
ClientBehaviorSupport to the public services package</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-540";>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
 ues.apache.org/jira/browse/TAP5-543">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="https://issues.apache.org/jira/browse/TAP5-544";>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="https://issues.apache.org/jira/browse/TAP5-545";>TAP5-545</a> &#8211; 
Upgrade to Scriptaculous 1.8.2 (released Nov 2008)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-547";>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="https://issues.apache.org/jira/browse/TAP5-550";>TAP5-550</a> &#8211; 
Reduce eden space memory footprint by avoiding Lists and Map
 s within Elements</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-564";>TAP5-564</a> &#8211; Add 
StringPropertySelectModel</li></ul><h3 
id="ReleaseNotes5.1-NewFeaturesAdded.4">New Features Added</h3><ul><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-43";>TAP5-43</a> &#8211; Add 
configuration to turn off @Secure when in development</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-74";>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="https://issues.apache.org/jira/browse/TAP5-92";>TAP5-92</a> &#8211; Add 
new element, t:remove, that removes a portion of a template</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-236";>TAP5-236</a> &#8211; 
Implement a progressive enhancement component that loads its content via 
Ajax</li><li><a  class="external-link" href="htt
 ps://issues.apache.org/jira/browse/TAP5-485">TAP5-485</a> &#8211; Tracking 
issue for changes required by com.formos.tapestry:tapestry-template</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-542";>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="https://issues.apache.org/jira/browse/TAP5-560";>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="https://issues.apache.org/jira/browse/TAP5-563";>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 5.1.0.0</h2><h3 
id="ReleaseNotes5.1-BugsFixed.5">Bugs Fixed</h3><ul><li><a  
class="external-link" href="https://issues.apache.org/jira/browse/T
 AP5-217">TAP5-217</a> &#8211; Warnings related to service configuration 
validations should be escalated to exceptions</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-292";>TAP5-292</a> &#8211; 
Field injection does not support injecting configurations or other service 
resources, only dependencies</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-298";>TAP5-298</a> &#8211; JS 
error in Palette for disabled options</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-330";>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="https://issues.apache.org/jira/browse/TAP5-334";>TAP5-334</a> &#8211; 
Component fields should allow @InjectService annotation, as well as 
@Inject</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-341";>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="https://issues.apache.org/jira/browse/TAP5-349";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-355";>TAP5-355</a> &#8211; 
TapestrySpring does not support injection of Spring FactoryBeans</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-357";>TAP5-357</a> &#8211; 
Tapestry documentation should clearly/boldly identify the release 
number</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-359";>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="https://issues.apache.org/jira/browse/TAP5-370";>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="https://issues.apache.org/jira/browse/TAP5-373";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-377";>TAP5-377</a> &#8211; 
Broken links inside on project site to pipeline description and to 
JIRA</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-378";>TAP5-378</a> &#8211; 
Missing i18n files for Brazilian Portuguese</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-385";>TAP5-385</a> &#8211; 
Tapest
 ry 5 often renders empty elements incorrectly</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-391";>TAP5-391</a> &#8211; Link 
from Form page to checkbox page (on website) is incorrect</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-399";>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="https://issues.apache.org/jira/browse/TAP5-402";>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="https://issues.apache.org/jira/browse/TAP5-403";>TAP5-403</a> &#8211; 
OneShotLock tests fail under JDK 1.6 because of JVM differences</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-405";>TAP5-405</a> &#8211; 
Documentation should reference Index instead of Start page</li><li><a  
class="exter
 nal-link" href="https://issues.apache.org/jira/browse/TAP5-407";>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="https://issues.apache.org/jira/browse/TAP5-408";>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="https://issues.apache.org/jira/browse/TAP5-413";>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="https://issues.apache.org/jira/browse/TAP5-416";>TAP5-416</a> &#8211; 
Javascript error with IE and Window Prototype</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-419";>TAP5-419</a> &#8211; 
Logging of component class transformations has typo in prefix</li><li><a  
class="external-link" href="https:
 //issues.apache.org/jira/browse/TAP5-425">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="https://issues.apache.org/jira/browse/TAP5-428";>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="https://issues.apache.org/jira/browse/TAP5-431";>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="https://issues.apache.org/jira/browse/TAP5-441";>TAP5-441</a> &#8211; 
Tapestry should be using ServletContext.getMimeType() to map from file 
extensions to MIME types</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-443";>TAP5-
 443</a> &#8211; Clicking an action link when using tapestry-upload always 
throws an exception</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-444";>TAP5-444</a> &#8211; 
ToStringService uses @Override annotation improperly</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-449";>TAP5-449</a> &#8211; 
@CleanupRender Render phase methods not always invoked</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-454";>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="https://issues.apache.org/jira/browse/TAP5-457";>TAP5-457</a> &#8211; 
Illegal prefix for XML namespace</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-464";>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="https://issues.apache.org/jira/browse/TAP5-467";>TAP5-467</a> &#8211; 
ResponseCompressionAnalyzerImpl should trim spaces before comparing 
accepted-encoding to "gzip"</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-468";>TAP5-468</a> &#8211; 
ResponseCompressionAnalyzer should disregard the charset when comparing 
configured exluded mime types</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-470";>TAP5-470</a> &#8211; The 
exception report should only split system properties whose name ends in 
".path"</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-471";>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="https://issues.apache.org/jira/browse/TAP5-478";>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="https://issues.apache.org/jira/browse/TAP5-484";>TAP5-484</a> &#8211; 
Quickstart should include a test scope dependency on EasyMock</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-488";>TAP5-488</a> &#8211; Typo 
in error message when contributing to unknown service</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-489";>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="https://issues.apache.org/jira/browse/TAP5-490";>TAP5-490</a> &#8211; Link 
from Ajax guide page to component reference is broken</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-505";>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="https://issues.apache.org/jira/browse/TAP5-507";>TAP5-507</a> &#8211; 
Comments between the DOCTYPE and the root element now cause render 
errors</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-528";>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="https://issues.apache.org/jira/browse/TAP5-24";>TAP5-24</a> &#8211; 
Document changing the (persisted) locale</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-60";>TAP5-60</a> &#8211; 
Provide an alternate approach to decorating services based on 
aspects</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-79";>TAP5-79</a> &#8211; 
Improve Tapestry's property expression language to include OGNL-like 
features</li><li><a  class="external
 -link" href="https://issues.apache.org/jira/browse/TAP5-100";>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="https://issues.apache.org/jira/browse/TAP5-165";>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="https://issues.apache.org/jira/browse/TAP5-181";>TAP5-181</a> &#8211; 
Highlight duplicated IDs.</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-194";>TAP5-194</a> &#8211; 
Handler method of Submit component should accept a context</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-209";>TAP5-209</a> &#8211; 
quickstart archetype should provide a sample page .properties file</li><li><a  
class="external-link" href="https://issu
 es.apache.org/jira/browse/TAP5-216">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="https://issues.apache.org/jira/browse/TAP5-346";>TAP5-346</a> &#8211; 
Maven resource filtering pre-expands some Tapestry expansions: docs should warn 
of this</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-364";>TAP5-364</a> &#8211; 
BeanEditForm should include the same autofocus parameter that Form 
has</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-365";>TAP5-365</a> &#8211; 
Localization support for Japanese</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-371";>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
 s="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-380";>TAP5-380</a> &#8211; Add 
localization support for Greek</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-382";>TAP5-382</a> &#8211; 
PersistenceConstants should have all persistence field strategies</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-383";>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="https://issues.apache.org/jira/browse/TAP5-386";>TAP5-386</a> &#8211; 
Tapestry IoC documentation improvements</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-390";>TAP5-390</a> &#8211; 
Improve component reports by providing links to javadocs of tapestry 
classes</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-392";>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="https://issues.apache.org/jira/browse/TAP5-393";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-406";>TAP5-406</a> &#8211; 
Remove IDEA and Eclipse control files from the source tree</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-417";>TAP5-417</a> &#8211; 
Tapestry Performance Improvements</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-422";>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="https://issues.apache.org/jira/browse/TAP5-429";>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="https://issues.apache.org/jira/browse/TAP5-435";>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="https://issues.apache.org/jira/browse/TAP5-442";>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="https://issues.apache.org/jira/browse/TAP5-445";>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="https://issues.apache.org/jira/browse/TAP5-447";>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
 sues.apache.org/jira/browse/TAP5-448">TAP5-448</a> &#8211; Assets should no 
longer attempt to generate relative URIs</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-451";>TAP5-451</a> &#8211; 
Upgrade Selenium dependencies to new beta (which supports FireFox 3)</li><li><a 
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-458";>TAP5-458</a> &#8211; 
Tapestry quickstart should include a basic, but visually pleasing, Layout 
component</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-459";>TAP5-459</a> &#8211; 
Quickstart should include provided scope dependency on the servlet 
API</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-462";>TAP5-462</a> &#8211; FAQ: 
The Hibernate startup question now has a really easy answer</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-465";>TAP5-465</a> &#8211; Add 
a LazyAdvisor service that can allow metho
 d invocations on services to be lazily evaluated</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-479";>TAP5-479</a> &#8211; 
Quickstart archetype should include a basic site.xml and index.apt</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-481";>TAP5-481</a> &#8211; 
Quickstart archetype should include a test scope dependency on 
tapestry-test</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-482";>TAP5-482</a> &#8211; 
Maven repository location <a  class="external-link" 
href="http://archiva.openqa.org/repository/releases"; 
rel="nofollow">http://archiva.openqa.org/repository/releases</a> has a unwanted 
trailing slash in the master pom.xml</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-487";>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="https://issues.apache.org/jira/browse/TAP5-498";>TAP5-498</a> &#8211; 
Upgrade Javassist dependency to latest version, 3.9.0.GA</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-499";>TAP5-499</a> &#8211; 
Cleanup and simplfy PageTester to remove ComponentInvocation, InvocationTarget, 
etc.</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-503";>TAP5-503</a> &#8211; Make 
Live Class and Template Reloading feature work in OSGi</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-516";>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
 .apache.org/jira/browse/TAP5-522">TAP5-522</a> &#8211; Reduce memory footprint 
by sharing binding descriptions</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-523";>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="https://issues.apache.org/jira/browse/TAP5-66";>TAP5-66</a> &#8211; Use 
namespaces in templates to reference components in libraries</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-70";>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="https://issues.apache.org/jira/browse/TAP5-90";>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://issues.apache.org/jira/browse/TAP5-95">TAP5-95</a> &#8211; Optimize page 
construction for repeated construction of the same page</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-106";>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="https://issues.apache.org/jira/browse/TAP5-112";>TAP5-112</a> &#8211; 
Define new namespace, p:, for block parameters</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-139";>TAP5-139</a> &#8211; 
@Autobuild annotation for parameters, implicitly invokes 
ObjectLocator.autobuild()</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-140";>TAP5-140</a> &#8211; The 
services used to handle live reloading should be made public</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-215";>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="https://issues.apache.org/jira/browse/TAP5-291";>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="https://issues.apache.org/jira/browse/TAP5-295";>TAP5-295</a> &#8211; 
Option to startup Hibernate early, rather than lazily on first 
request</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-316";>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="https://issues.apache.org/jira/browse/TAP5-427";>TAP5-427</a> &#8211; 
Allow injection of Tapestry services into Spring beans</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-430";>TAP5-430</a> &#8211; 
Annotati
 on for services to indicate that the service should not be 
decorated</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-434";>TAP5-434</a> &#8211; Add 
documentation about using PersistentLocale service to effect a change in 
locale</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-436";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-437";>TAP5-437</a> &#8211; The 
OrderedConfiguration and MappedConfiguration interfaces should allow for 
override() methods (similar to add())</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-439";>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="https://issues.apache.org/jira/browse/TAP5-446";>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="https://issues.apache.org/jira/browse/TAP5-472";>TAP5-472</a> &#8211; Make 
it possible and easy to use a content delivery network</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-476";>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="https://issues.apache.org/jira/browse/TAP5-491";>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  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-372";>TAP5-372</a> &#8211; 
Merge changes from 5.0.16 --&gt; 5.0.17 into trunk (5.1)</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-379";>TAP5-379</a> &#8211; Add 
the Ars Machina Project to the list of Tapestry 5-related packages</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-381";>TAP5-381</a> &#8211; 
Documentation talks about a "tapestry.charset" when there's no such 
configuration documented</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-480";>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="https://issues.apache.org/jira/browse/TAP5-493";>TAP5-493</a> &#8211; T
 ranslate StructureStrings#original-child-component</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-494";>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>
       </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 Mon Feb 19 
19:21:08 2018
@@ -78,14 +78,14 @@
       </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="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 <a  href="release-notes-52.html">Release Notes 5.2</a> 
instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1518405679341 {padding: 0px;}
-div.rbtoc1518405679341 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1518405679341 li {margin-left: 0px;padding-left: 0px;}
+                <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> 
instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1519068038504 {padding: 0px;}
+div.rbtoc1519068038504 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1519068038504 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1518405679341">
+/*]]>*/</style></p><div class="toc-macro rbtoc1519068038504">
 <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., "<a  class="external-link" 
href="http://example.com:8080/myapp/viewproduct/4"; 
rel="nofollow">http://example.com:8080/myapp/viewproduct/4</a>"), 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">
+</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--";>Link.toAbsoluteURI()</a>
 now returns the absolute URL, which includes the scheme, hostname and possibly 
port (e.g., "<span 
class="nolink">http://example.com:8080/myapp/viewproduct/4</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" 
href="http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Label.html";>Label</a>
 component no longer outputs an id:</li></ul><p>Previously valid code in 
5.1.0.5:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:form&gt;&lt;t:label 
for="search"/&gt;&lt;t:textfield t:id="search" 
size="50"/&gt;&lt;/t:form&gt;</pre>
 </div></div><p>Combined with JavaScript that references the id:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="brush: js; gutter: false; theme: Default" 
style="font-size:12px;">jQuery('#search-label').text('This is the search 
label');   </pre>


Reply via email to