[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tapestry-dev
Subject:    [CONF] Apache Tapestry > Release Notes 5.2.0
From:       confluence () apache ! org
Date:       2010-09-30 17:07:00
Message-ID: 6627162.20252.1285866420023.JavaMail.confluence () thor
[Download RAW message or body]

<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" \
href="/confluence/s/1810/9/12/_/styles/combined.css?spaceKey=TAPESTRY&amp;forWysiwyg=true" \
type="text/css">  </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.0">Release \
Notes 5.2.0</a></h2>  <h4>Page <b>edited</b> by             <a \
href="https://cwiki.apache.org/confluence/display/~hlship">Howard M. Lewis Ship</a>  \
</h4>  <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >read the notes below carefully. <br> \
<br></td></tr>  <tr><td class="diff-added-lines" style="background-color: #dfd;">h3. \
Live Service Reloading <br> <br>Tapestry 5.2.0 extends Tapestry&#39;s concept of live \
reloading of Java code into the service layer. In most cases, service implementations \
of your <br>application will now live reload, seamlessly. See the [FAQ|Frequently \
Asked Questions] for some additional notes about live reloading. <br> <br>h3. Pages \
No Longer Pooled <br> <br>This is a huge change from Tapestry 5.1 to 5.2; Tapestry no \
longer pools page instances. It creates *one* instance of each page (per supported \
<br>locale). Tapestry rewrites your component classes so that all mutable state is \
stored in a per-thread HashMap. This will greatly reduce Tapestry&#39;s <br>memory \
footprint, especially on heavily loaded sites. <br> <br>This change makes it easier \
to share objects between threads, which is problematic when the objects are not \
thread-safe.  For example: <br> <br>{newcode:title=Valid Component Code (5.1)} <br>  \
@Inject <br>  private Locale locale; <br> <br>  private final DateFormat format = \
DateFormat.getDateInstance(DateFormat.MEDIUM, locale); <br> <br>  public String \
getCurrentTimeFormatted() <br>  { <br>    return format.format(new Date()); <br>  } \
<br>{newcode} <br> <br>In the above code, _under 5.1_, the DateFormat object was not \
shared between threads, as each thread would operate with <br>a different instance of \
the containing page.  Under 5.2, the final field _will_ be shared across threads, \
which is problematic <br>as DateFormat is not thread safe. The code should be \
rewritten as: <br> <br>{newcode:title=Updated for 5.2} <br>  @Inject <br>  private \
Locale locale; <br> <br>  public String getCurrentTimeFormatted() <br>  { <br>    \
DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, locale); <br> <br>  \
                return format.format(new Date()); <br>  } <br>{newcode} <br> \
                <br></td></tr>
            <tr><td class="diff-unchanged" >h3. Service Id Injection <br> \
<br></td></tr>  <tr><td class="diff-snipped" >...<br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>Tapestry 5.2.0 represents nearly a year of work past the prior stable \
release, 5.1.0.5.  For the most part, the upgrade is quite straight forward, but \
please<br/> read the notes below carefully.</p>

<h3><a name="ReleaseNotes5.2.0-LiveServiceReloading"></a>Live Service Reloading</h3>

<p>Tapestry 5.2.0 extends Tapestry's concept of live reloading of Java code into the \
service layer. In most cases, service implementations of your<br/> application will \
now live reload, seamlessly. See the <a \
href="/confluence/display/TAPESTRY/Frequently+Asked+Questions" title="Frequently \
Asked Questions">FAQ</a> for some additional notes about live reloading.</p>

<h3><a name="ReleaseNotes5.2.0-PagesNoLongerPooled"></a>Pages No Longer Pooled</h3>

<p>This is a huge change from Tapestry 5.1 to 5.2; Tapestry no longer pools page \
instances. It creates <b>one</b> instance of each page (per supported<br/> locale). \
Tapestry rewrites your component classes so that all mutable state is stored in a \
per-thread HashMap. This will greatly reduce Tapestry's<br/> memory footprint, \
especially on heavily loaded sites.</p>

<p>This change makes it easier to share objects between threads, which is problematic \
when the objects are not thread-safe.  For example:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader \
panelHeader" style="border-bottom-width: 1px;"><b>Valid Component Code \
(5.1)</b></div><div class="codeContent panelContent"> <script \
type="syntaxhighlighter" class="toolbar: false; theme: Default; brush: java; gutter: \
false"><![CDATA[  @Inject
  private Locale locale;

  private final DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, \
locale);

  public String getCurrentTimeFormatted()
  {
    return format.format(new Date());
  }
]]></script>
</div></div>

<p>In the above code, <em>under 5.1</em>, the DateFormat object was not shared \
between threads, as each thread would operate with<br/> a different instance of the \
containing page.  Under 5.2, the final field <em>will</em> be shared across threads, \
which is problematic<br/> as DateFormat is not thread safe. The code should be \
rewritten as:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader \
panelHeader" style="border-bottom-width: 1px;"><b>Updated for 5.2</b></div><div \
class="codeContent panelContent"> <script type="syntaxhighlighter" class="toolbar: \
false; theme: Default; brush: java; gutter: false"><![CDATA[  @Inject
  private Locale locale;

  public String getCurrentTimeFormatted()
  {
    DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);

    return format.format(new Date());
  }
]]></script>
</div></div>

<h3><a name="ReleaseNotes5.2.0-ServiceIdInjection"></a>Service Id Injection</h3>

<p>In prior releases of Tapestry, a constructor parameter of type String was assumed \
to be the service id.<br/> In the many cases where these was not the case (such as \
using the @Value or @Symbol annotation), the parameter<br/> needed to be annotated \
with the @Inject annotation.</p>

<p>  Starting in 5.2.0, this feature is no longer present (this is a \
<em>non-backwards compatible change</em>, but one that<br/>  affects virtually \
nobody).  A parameter of type String will be subject to normal<br/>  injection; you \
will likely want to use @Value or @Symbol with it, or you will see an error that "No \
service<br/>  implements java.lang.String.".</p>

<div class='panelMacro'><table class='warningMacro'><colgroup><col \
width='24'><col></colgroup><tr><td valign='top'><img \
src="/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" \
align="absmiddle" alt="" border="0"></td><td>Igor made a change such that a bare \
String is injected as the service id in some circumstance; it may be<br/> decorator \
methods.  This needs to be documented properly.</td></tr></table></div>

<h3><a name="ReleaseNotes5.2.0-TranslatorSource"></a>TranslatorSource</h3>

<p>The configuration type for TranslatorSource has changed in an \
<em>incompatible</em> way: from<br/> an unordered collection to a mapped collection; \
this is to support overrides of Tapestry's<br/> built-in translators. This will \
break<br/> existing module classes that contribute to the TranslatorSource service \
configuration.</p>

<h3><a name="ReleaseNotes5.2.0-Assets"></a>Assets</h3>

<p>There have been some changes to how assets operate in Tapestry 5.2.</p>

<p>Virtual folders, used to define root packages for component libraries, may no \
longer<br/> contain slashes. Virtual folders are the pathPrefix property of the \
LibraryMapping objects<br/> that are contributed to the ComponentClassResolver \
service.</p>

<p>Each LibraryMapping  is now automatically converted into a matching contribution \
to   <br/> the ClasspathAssetAliasManager service. Previously a library author was \
encouraged<br/> to make contributions to both services. The path prefix of a \
LibraryMapping is also<br/> now prohibited from containing the slash character.</p>

<p>It is now quite necessary to configure the application version number: all assets \
are exposed via<br/> a URL that incorporates the application version number; in \
previous releases, each library could<br/> configure its own version number. By \
implication, changing library versions and nothing else will now<br/> require a \
change to the application version number.</p>

<h3><a name="ReleaseNotes5.2.0-ClassTransformationAPIchanges"></a>ClassTransformation \
API changes</h3>

<p>The ClassTransformation API, used to implement component meta-programming,<br/>
has been rewritten with an eye to making class transformations easier to implement \
while<br/> removing the dependency on the Javassist library. This is of note only to \
<em>advanced</em> users who have implemented<br/> ComponentClassTransformWorkers, \
which operate on<br/> the ClassTransformation API. </p>

<p>Much of the existing API has been deprecated and <em>some</em> deprecated<br/>
methods are now non-functional. The deprecated methods will be removed in Tapestry \
5.3.</p>

<p>This represents a shift in how the API operates; previously much of the logic in \
ComponentClassTransformWorkers<br/> was built in terms of Javassist: adding new \
bytecode to existing methods. The new API switches away from this, and<br/> now works \
in terms of adding new fields, initializing those fields using callbacks, providing \
callbacks for access<br/> to fields, and adding advice to methods.</p>

<h3><a name="ReleaseNotes5.2.0-TemplateParserbacktoSAX"></a>Template Parser back to \
SAX</h3>

<p>Tapestry no longer uses a StAX parser to parse component templates, it has \
reverted to using a normal SAX parser. This change<br/> reduces the number of \
dependencies for Tapestry, and is a stepping stone towards compatibility with<br/> \
Google App Engine.</p>



            
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-266'>TAP5-266</a>] -         \
In a conflict between a render phase annotation and the naming convention, the \
explicit annotation should win </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-707'>TAP5-707</a>] -         \
Yellow highlight remains on updated zone if zone is re-updated too quickly </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-711'>TAP5-711</a>] -         \
Submit component: using image parameter prevents selected event from being fired \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-714'>TAP5-714</a>] -   \
Incorrect encoding of single quotes for Ajax requests </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-715'>TAP5-715</a>] -         \
TypeCoercer.explain incorrectly reports the plan to coerce from primitive types to \
wrapper types </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-719'>TAP5-719</a>] -         \
Component LinkSubmit doesn't work </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-728'>TAP5-728</a>] -         \
When using the @Validate annotation, spaces around the commas that separate \
contraints cause runtime exceptions </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-734'>TAP5-734</a>] -         \
Tapestry tutorial documentation refers to old archtype command </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-747'>TAP5-747</a>] -         \
Property expressions that include method invocations that in turn reference \
properties result in spurious error about &quot;root&quot; </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-748'>TAP5-748</a>] -         \
NPE when defining a component using just t:id and no type or @Component annotation \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-749'>TAP5-749</a>] -   \
The FormFragment and LinkSubmit components create a hidden field whose id ends with \
&quot;:hidden&quot; </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-750'>TAP5-750</a>] -         \
Tapestry should not attempt to GZip flash movies (.swf files) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-755'>TAP5-755</a>] -         \
URL rewriting documentation contains an example that won't compile due to lack of a \
return value </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-759'>TAP5-759</a>] -         \
The documentation of DefaultNullFieldStrategy#replaceFromClient() is wrong about what \
gets returned </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-765'>TAP5-765</a>] -         \
Included JavaScript libraries are not properly uniqued within an Ajax partial update \
response </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-767'>TAP5-767</a>] -         \
PropertyConduitSourceImpl should use english locale (instead of default locale) when \
evaluating decimals </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-769'>TAP5-769</a>] -         \
JavaScript aggregation can be inefficient across multiple pages with different JS \
requirements </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-774'>TAP5-774</a>] -         \
Initialization JavaScript needs help when order counts </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-779'>TAP5-779</a>] -         \
CLONE -Linksubmit doesn't work inside a form with Zone parameter set </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-786'>TAP5-786</a>] -         \
Exception messages in the pageload packages should be localized </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-787'>TAP5-787</a>] -         \
AbstractIntegrationTest's &quot;assertTextPresent&quot; only checks the first value \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-788'>TAP5-788</a>] -   \
ParallelExecutor service throws RejectedExecutionException if more then \
THREAD_POOL_MAX_SIZE jobs are submitted </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-796'>TAP5-796</a>] -         \
Form component generates invalid xHtml: there should not be the &quot;name&quot; \
attribute </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-812'>TAP5-812</a>] -         \
The input validation documentation incorrectly shows validation occuring in the \
success event handler method </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-813'>TAP5-813</a>] -         \
the component rendering page of the user guide is not generated by maven </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-815'>TAP5-815</a>] -         \
Asset dispatcher allows any file inside the webapp visible and downloadable </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-823'>TAP5-823</a>] -         \
Message about incompatible return type of a render phase method is misleading </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-824'>TAP5-824</a>] -         \
Javasisst 3.9.0.GA not available from central repository </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-830'>TAP5-830</a>] -         \
SpringModuleDef unnecessarily hard-codes that the type of object stored in the \
context as a ConfigurableWebApplicationContext when any object implementing \
ApplicationContext is sufficient </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-834'>TAP5-834</a>] -         \
BaseOptimizedSessionPersistedObject does not work correctly with Tomcat &amp; Jetty \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-837'>TAP5-837</a>] -   \
prototype1.6.0 not support for ie8 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-839'>TAP5-839</a>] -         \
Tapestry should ignore (public) synthetic methods in module classes </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-856'>TAP5-856</a>] -         \
MetaDataLocatorImpl.findMeta(String, String, Class) doesn't check contributed \
defaults - breaks SECURE_PAGE contributions </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-868'>TAP5-868</a>] -         \
It is not possible to attach a validation event listener to a Palette (or other \
&lt;select&gt; field) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-871'>TAP5-871</a>] -         \
Generation of Component Reference failed on Windows </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-881'>TAP5-881</a>] -         \
Tapestry's customized Blackbird implementation sends a dubious cookie value over \
every request </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-894'>TAP5-894</a>] -         \
Fix PartialMarkupDocumentLinkerTest.stylesheet_link()  </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-896'>TAP5-896</a>] -         \
Contribute 'properties' file extension to the configuration of \
ResourceDigestGenerator </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-898'>TAP5-898</a>] -         \
BeanModel methods reorder, include and exclude should return BeanModel&lt;T&gt; (not \
BeanModel&lt;?&gt;) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-908'>TAP5-908</a>] -         \
Blackbird console should not add cookies to requests </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-913'>TAP5-913</a>] -         \
Stack size too large exception, related to PropertyExpressionLexer </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-919'>TAP5-919</a>] -         \
Calling MarkupWriter.element() with an even number of arguments throws \
ArrayIndexOutOfBounds exception, not a useful exception about omitting a attribute \
name or value </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-923'>TAP5-923</a>] -         \
Injeting Tapestry Services to Spring Beans is completely undocumented </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-936'>TAP5-936</a>] -         \
Tapestry wiki link links to nothing for locales other then en </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-937'>TAP5-937</a>] -         \
LinkImpl does not handle parameters properly when passed into the constructor </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-940'>TAP5-940</a>] -         \
Zone should fire a heart beat event </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-943'>TAP5-943</a>] -         \
Documentation for event handler methods should go into detail about returns true or \
false </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-944'>TAP5-944</a>] -         \
When a ValueEncoder is unable to convert an id to a entity, it should wrap the \
underlying type coercion exception to describe the input and expected output type \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-945'>TAP5-945</a>] -   \
Unnecessary and severe lock contention in PerthreadManagerImpl </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-947'>TAP5-947</a>] -         \
Default name &quot;submit&quot; for submit component breaks javascript function \
submit() </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-959'>TAP5-959</a>] -         \
Ajax event handler methods that return a page instance, page class or page name \
should cause the client to redirect to that page, but doesn't work in IE7 or 8 if the \
URL has a query param </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-961'>TAP5-961</a>] -         \
When a URL rewriting rule changes the path for a rendered link (component event or \
page render), any query parameters associated with the original link are lost </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-962'>TAP5-962</a>] -         \
Errors component includes an @Environmental for FormSupport, but doesn't use it </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-964'>TAP5-964</a>] -         \
Exception report failed to render due to NPE inside session-persisted objects' \
toString() </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-974'>TAP5-974</a>] -         \
PageCallback should be marked with the @ImmutableSessionPersistedObject annotation \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-987'>TAP5-987</a>] -   \
In some cases you can invoke Form.recordError() and the Form will still fire a \
success (not a failure) event </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1001'>TAP5-1001</a>] -       \
Garbled exception message when a component is defined in a namespace that is not \
properly defined as a Tapestry library namespace </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1018'>TAP5-1018</a>] -       \
Request to Application Root path ignores ComponentRequestFilter's </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1019'>TAP5-1019</a>] -       \
French translations for number format error message </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1020'>TAP5-1020</a>] -       \
Fix typo in tapestry-hibernate/src/site/apt/userguide.apt: \
HibernateTransactionAdviser should be HibernateTransactionAdvisor </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1030'>TAP5-1030</a>] -       \
Injecting a Logger into a non-service object, created as part of constructing a \
service configuration, should work but doesn't </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1031'>TAP5-1031</a>] -       \
NPE from Any component when invoking getClientId() before the component renders </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1034'>TAP5-1034</a>] -       \
Using URLRewriteRules will fail for component event links if the page has an \
activation context </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1042'>TAP5-1042</a>] -       \
URLRewriting causes confusion about the incoming Request path, leading to incorrect \
optimized relative URLs </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1043'>TAP5-1043</a>] -       \
PropertyDisplayBlocks causes NullPointerException when property of type Calendar is \
null </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1047'>TAP5-1047</a>] -       \
@IncludeJavaScriptLibrary and @IncludeStylesheet may incorrectly calculate resources \
in component sub-classes </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1052'>TAP5-1052</a>] -       \
Component classes page of the guide should be much more specific that only component \
classes go in pages, components, etc. </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1054'>TAP5-1054</a>] -       \
Not able to pass an empty string as appName to PageTester </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1057'>TAP5-1057</a>] -       \
XSS vulnerability in calendar component </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1060'>TAP5-1060</a>] -       \
In IE8, forms that should submit using Ajax are triggering full page requests due to \
a client-side JavaScript error </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1067'>TAP5-1067</a>] -       \
Created component constructor may use too many parameters </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1068'>TAP5-1068</a>] -       \
RenderSupport.addScriptLink(String) deprecated and removed without replacement </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1069'>TAP5-1069</a>] -       \
Tapestry POM should reference only the Apache Nexus repository, not the \
tapestry.formos.com repository </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1074'>TAP5-1074</a>] -       \
The @QueryParameter annotation uses TypeCoercer to convert from request parameter \
strings to method parameter values, it should use the ValueEncoder </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1075'>TAP5-1075</a>] -       \
When a template contains a reference to an unknown component, the new \
UnknownValueException is reported but the Location is no longer reported, making it \
much harder to determine where the error occurred </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1076'>TAP5-1076</a>] -       \
When a service implementation is reloadable, it will not eager load </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1080'>TAP5-1080</a>] -       \
Page activation context lost when redirecting from HTTP to HTTPS due to the @Secure \
annotation </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1086'>TAP5-1086</a>] -       \
Localized root path request results in a 404 error if Index page is not available \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1088'>TAP5-1088</a>] - \
Bean editor model for &lt;class name&gt; already contains a property model for \
property &lt;property name&gt; when combining model parameter with add parameter of \
BeanEditor or BeanEditForm </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1090'>TAP5-1090</a>] -       \
Deleting a live-reloaded class can result in a non-descriptive &quot;Parameter url \
was null.&quot; exception </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1096'>TAP5-1096</a>] -       \
If a Zone's id parameter is bound, then the clientId property should return that \
value, even before the Zone renders </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1100'>TAP5-1100</a>] -       \
On ajax request, template body doesn't render if page is new in pagepool or if server \
restarted </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1105'>TAP5-1105</a>] -       \
BeanModelSource should recognize public field as properties, but doesn't </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1106'>TAP5-1106</a>] -       \
Tapestry.ajaxFailureHandler has an incorrect signature for an Ajax.Request \
onException callback </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1109'>TAP5-1109</a>] -       \
Updating multiple zones within a Form creates anomalous empty text fields </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1110'>TAP5-1110</a>] -       \
Tapestry holds onto the verbose descriptions of component class transformations, \
causing a memory leak </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1116'>TAP5-1116</a>] -       \
Live lock when using compressed and virtual assets due to ByteArrayOutputStream being \
synchronized </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1120'>TAP5-1120</a>] -       \
It is not possible to override the default Translator contributions to the \
TranslatorSource service </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1124'>TAP5-1124</a>] -       \
FormEventManager.setSubmittingElement(element) creates input element with \
type=&quot;input&quot; </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1128'>TAP5-1128</a>] -       \
A space is added to a HTML start comment sequence making it impossible to add IE \
conditional comments  </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1130'>TAP5-1130</a>] -       \
LinkSubmit component doesn't work when form contains Select component with default id \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1136'>TAP5-1136</a>] - \
java.lang.UnsupportedOperationException from UpdateListenerHub when a weak reference \
is reclaimed </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1137'>TAP5-1137</a>] -       \
Dynamically adding JavaScript libraries to a page via a partial page update does not \
seem to work consistently in Safari and Chrome </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1138'>TAP5-1138</a>] -       \
ClassTransformation deprecated a bunch of methods, then refers to replacements that \
don't exist </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1141'>TAP5-1141</a>] -       \
Type coercion from arbitrary object to Boolean will NPE when the object's toString() \
returns null (should coerce to false) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1145'>TAP5-1145</a>] -       \
Writing only text (or raw text) into a Document via MarkupWriter results in [empty \
Document], not the actual text </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1147'>TAP5-1147</a>] -       \
Ajax updates under IE leak lots of memory </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1154'>TAP5-1154</a>] -       \
ValidationDecorator.insideField not called for Select component </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1156'>TAP5-1156</a>] -       \
Provide a ValueEncoder for a Hibernate entity automatically only if a mapped class \
exists </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1158'>TAP5-1158</a>] -       \
Captured HTML from failed Selenium assertions do not get stored in the correct place \
on Windows </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1161'>TAP5-1161</a>] -       \
Tapestry 5.1 seems incompatible with Spring 3 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1166'>TAP5-1166</a>] -       \
ClassPropertyAdapterImpl should skip static  fields </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1182'>TAP5-1182</a>] -       \
javax.management preventsTapestry apps from being deployed on GAE </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1185'>TAP5-1185</a>] -       \
Upgrade to latest Javassist version to avoid LocalVariableTable exceptions \
(especially on Google App Engine) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1198'>TAP5-1198</a>] -       \
A user defined activate event handler appears to execute *before* the event handler \
supplied by @PageActivationContext, making defensive coding impossible </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1203'>TAP5-1203</a>] -       \
Use of @Contribute annotation does not work properly with marker annotations </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1207'>TAP5-1207</a>] -       \
A form control component (such as TextField) whose id is &quot;id&quot; can confuse \
client-side logic for the Form DOM object </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1209'>TAP5-1209</a>] -       \
Marker annotations used with services that have contributions should be applicable to \
methods (as well as fields and parameters) for compatibility with @Contribute </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1210'>TAP5-1210</a>] -       \
MultiZone update from EventLink with Form fails in Internet Explorer </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1211'>TAP5-1211</a>] -       \
LinkSubmit broken in IE 7 mode </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1216'>TAP5-1216</a>] -       \
ValueEncoderSource does not define a @UsesMappedConfiguration annotation </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1223'>TAP5-1223</a>] -       \
The name &quot;JavaScript&quot; should have a capital &quot;S&quot; but is \
inconsistent in some class and interface names </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1224'>TAP5-1224</a>] -       \
When contributing to a service using a &quot;contribute&quot; method, the service id \
from the method name now matches case-sensitively to the service id (it should be \
case insensitive) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1262'>TAP5-1262</a>] -       \
XSS vulnerability in calendar component (apply to 5.1.0.x) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1282'>TAP5-1282</a>] -       \
Form component generates invalid xHtml: there should not be the &quot;name&quot; \
attribute - Applied to 5.1 </li>
</ul>
    
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-69'>TAP5-69</a>] -         \
Add annotation, @Contribute, to allow service contributor methods to be arbitrary \
named </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-88'>TAP5-88</a>] -         \
Add support for Bulgarian locale </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-179'>TAP5-179</a>] -         \
The TriggerFragment mixin would be more useful if it could invert its logic, i.e., \
make a a fragment visible when a checkbox was turned off </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-247'>TAP5-247</a>] -         \
Move all Tapestry 5 configuration keys to a constant class </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-335'>TAP5-335</a>] -         \
Provide access to annotations of service implementation class </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-424'>TAP5-424</a>] -         \
Allow component libraries to contribute extra resources to the global application \
catalog </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-632'>TAP5-632</a>] -         \
Property names (in property expressions) should be able to read or update public \
variables </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-674'>TAP5-674</a>] -         \
Make it easy to implement a page callback mechanism </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-678'>TAP5-678</a>] -         \
Allow blackbird to be disabled in production mode </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-685'>TAP5-685</a>] -         \
Allow services defined by module tapestry-ioc to be advised and decorated </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-713'>TAP5-713</a>] -         \
Change template parser to not use StAX, as it is not (yet) compatible with Google App \
Engine </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-760'>TAP5-760</a>] -         \
The Form event &quot;validateForm&quot; is awkwardly named and should be replaced \
with the simpler name &quot;validate&quot; </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-762'>TAP5-762</a>] -         \
Upgrade Selenium dependencies to version 1.0.1 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-764'>TAP5-764</a>] -         \
Hidden should support ClientElement and support informal parameters. </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-777'>TAP5-777</a>] -         \
Tapestry should ensure that mixins are applied in a deterministic order. </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-783'>TAP5-783</a>] -         \
tapestry should mark via annotation which annotations are component-specific vs. more \
general </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-789'>TAP5-789</a>] -         \
Provide bean and display blocks for java.util.Calendar </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-790'>TAP5-790</a>] -         \
Provide ApplicationStatePersistenceStrategy for Hibernate entities  </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-803'>TAP5-803</a>] -         \
ProgressiveDisplay should include a read-only body property of type Block, just like \
Zone </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-807'>TAP5-807</a>] -         \
PageRenderLinkSource should add additional methods for creating a Link when you have \
the page's activation context as an EventContext </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-810'>TAP5-810</a>] -         \
Improve documentation of @Persist annotation </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-811'>TAP5-811</a>] -         \
Layout component documentation is not very clear about directory structure </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-814'>TAP5-814</a>] -         \
include a diagram showing how incoming requests pass through the different pipelines, \
filters and dispatchers </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-826'>TAP5-826</a>] -         \
The ActionLink documentation is missing the option to use object arrays as context \
inside templates </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-859'>TAP5-859</a>] -         \
In a stack trace, any lines associated with line #1 of a class are likely to be \
synthetic methods and should be classified as &quot;uninteresting&quot; </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-863'>TAP5-863</a>] -         \
Tapestry.ajaxRequest is insufficient when doing extra, such as adding query \
parameters </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-884'>TAP5-884</a>] -         \
Introduce a symbol for tapestry.js </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-887'>TAP5-887</a>] -         \
Easier way to initialize a JSONObject with keys and values </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-889'>TAP5-889</a>] -         \
Provide fluent API for order constraints of contributions </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-904'>TAP5-904</a>] -         \
Make use of Selenium.showContextualBanner() when running integration tests </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-905'>TAP5-905</a>] -         \
Tapestry should support the full range of Unicode characters acceptible by Java as \
property names </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-912'>TAP5-912</a>] -         \
Validation of properties of type java.util.Collection should fail when the collection \
is empty </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-914'>TAP5-914</a>] -         \
When autobuilding a Java bean (such as a Session State Object), the code should use \
the OperationTracker  </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-915'>TAP5-915</a>] -         \
It should be possible to override a components message catalog </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-917'>TAP5-917</a>] -         \
Don't set Expires header when tapestry.production-mode is false </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-927'>TAP5-927</a>] -         \
Cannot use Scala for Tapestry IOC Modules </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-948'>TAP5-948</a>] -         \
Built-in mechanism to identify self-referential links and/or event/render requests \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-958'>TAP5-958</a>] -   \
Upgrade Tapestry's built-in copy of prototype.js to version 1.6.1 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-963'>TAP5-963</a>] -         \
Allow access to static resources (css, js, jpg, jpeg, png, gif) inside the app \
package </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-965'>TAP5-965</a>] -         \
Upgrade EasyMock dependency to release 2.5.2 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-967'>TAP5-967</a>] -         \
ObjectLocator.autobuild would be more useful with an override that allowed a message \
about the object to be described </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-971'>TAP5-971</a>] -         \
FormFragment component should include a parameter to control whether non-visible \
content is included in the form submission </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-978'>TAP5-978</a>] -         \
Provide remote management of the page pool settings </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-979'>TAP5-979</a>] -         \
Form component should be more careful with the validation tracker to ensure that a \
session is not created unless needed </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-993'>TAP5-993</a>] -         \
Reorganize ComponentClassTransformWorkers to start moving away from Javassist </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-994'>TAP5-994</a>] -         \
Field autofocus should be done via Tapestry.init instead of using $ function </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1000'>TAP5-1000</a>] -       \
When Autobuilding a class, the constructor to be used should be identified in the \
trace output </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1014'>TAP5-1014</a>] -       \
Message about missing or wrong retention policy of a marker annotation is misleading \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1015'>TAP5-1015</a>] - \
Provide a new return type for event handler methods that would trigger the rendering \
of a particular page without a redirect </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1023'>TAP5-1023</a>] -       \
(5.2.0-SPNAPSHOT Maven dependencies) tapestry-hibernate-5.2.0 jar generated with \
tapestry-hibernate-5.2.0-yyyyMMdd.hhmmss-?.jar &gt; \
tapestry-hibernate-5.2.0-SNAPSHOT.jar whereas all other jar are using -5.2.0-SNAPSHOT \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1024'>TAP5-1024</a>] - \
Submit component should allow return values from event handler methods triggered by \
its event </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1033'>TAP5-1033</a>] -       \
Upgrade selenium dependencies to 1.0.3 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1036'>TAP5-1036</a>] -       \
It would be nice if there was a way for committers to run individual integration \
tests again </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1037'>TAP5-1037</a>] -       \
Rewrite URLRewriter integration tests to use new SeleniumTestCase instead of \
deprecated AbstractIntegrationTestSuite </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1038'>TAP5-1038</a>] -       \
Rewrite live reload integration tests to use new SeleniumTestCase instead of \
deprecated AbstractIntegrationTestSuite </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1046'>TAP5-1046</a>] -       \
Change Tapestry client-side JavaScript to make the tapx/Confirm component easier to \
implement </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1050'>TAP5-1050</a>] -       \
Add API to prevent a particular service implementation from being live reloaded </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1055'>TAP5-1055</a>] -       \
Provide hook to post-process properties files before rolling them into component \
Messages </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1061'>TAP5-1061</a>] -       \
When a Zone component sends an Ajax request for a client-side update, it should pass \
an extra query parameter identifying the zone's client-side id </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1077'>TAP5-1077</a>] -       \
Merge symbol values into property values from a bean definition </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1085'>TAP5-1085</a>] -       \
The ExceptionReporter should be configured to mark more of the Tapestry generated \
classes (used for method &amp; field access and method advice) as hidden by default \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1091'>TAP5-1091</a>] - \
CLONE -Handler method of LinkSubmit component should accept a context </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1094'>TAP5-1094</a>] -       \
Create a binding prefix, &quot;symbol:&quot;, that is used to access IoC symbols \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1112'>TAP5-1112</a>] - \
Handle array types in property expressions </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1126'>TAP5-1126</a>] -       \
Add a new validator, &quot;none&quot;, used when overriding the @Validate annotation \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1127'>TAP5-1127</a>] - \
Documentation for the Submit and LinkSubmit components should identify that you \
should cancel defer when inside a Loop </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1129'>TAP5-1129</a>] -       \
LinkSubmit should render minimally (and as &lt;span&gt; tag) and then fill in the \
details on the client </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1132'>TAP5-1132</a>] -       \
HibernateGridDataSource should assign the result of Projections.rowCount() to \
java.lang.Number when determining the number of rows for the configured entity type \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1135'>TAP5-1135</a>] - \
Provide a convinient method to build and start the registry </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1150'>TAP5-1150</a>] -       \
Refactor out a new base class between org.testng.Assert and \
org.apache.tapestry5.ioc.test.TestBase for non-mock related tests </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1152'>TAP5-1152</a>] -       \
TypeCoercer should include a method exposing the coercion it would use for a given \
source and target type </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1153'>TAP5-1153</a>] -       \
When in development mode, Tapestry should pretty-print JSON content </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1155'>TAP5-1155</a>] -       \
JavaScript initialization inside the partial page render Ajax response should be \
unquoted </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1157'>TAP5-1157</a>] -       \
Client-side exceptions during Tapestry.init() should be caught and reported with the \
console </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1165'>TAP5-1165</a>] -       \
Make better use of the OperationTracker to identify what's going on during a request \
(and especially, during page construction) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1170'>TAP5-1170</a>] -       \
Remove automatic injection of service id into parameters of type String </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1174'>TAP5-1174</a>] -       \
Provide a ComponentEventResultProcessor that sends an error response to the client \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1197'>TAP5-1197</a>] - \
Eliminate page pooling using shared page instances that separate their structure from \
the mutable state </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1225'>TAP5-1225</a>] -       \
Use recent Groovy/GMaven version and fix GMaven configuration in tapestry-core POM \
</li> </ul>
    
<h2>        New Feature
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-52'>TAP5-52</a>] -         \
Add Error component that presents validation errors of a single field </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-56'>TAP5-56</a>] -         \
Tapestry should have support for IE conditional stylesheets </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-86'>TAP5-86</a>] -         \
Add support for &quot;cancel&quot; submit buttons (which bypass client-side \
validation) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-103'>TAP5-103</a>] -         \
provide access to component parameters from within mixins </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-138'>TAP5-138</a>] -         \
Add Zone parameter to Select component </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-152'>TAP5-152</a>] -         \
Add @Translate annotation to define name of translator to be used with a bean \
property (rather than lookup by property type) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-156'>TAP5-156</a>] -         \
Add a @QueryParameter annotation for parameters to event handler method </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-226'>TAP5-226</a>] -         \
Add annotation @SessionAttribute to map a field to a specific session attribute </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-680'>TAP5-680</a>] -         \
Tapestry should provide a mixin for ensuring that the client id of a ClientElement is \
rendered </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-692'>TAP5-692</a>] -         \
T5 should pick up validators to be applied to a field from the containing component's \
.properties file. </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-801'>TAP5-801</a>] -         \
Add Trigger component to trigger a component event during rendering </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-895'>TAP5-895</a>] -         \
Tracking issue for Tapestry/JSR-303 integration </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-951'>TAP5-951</a>] -         \
Create more flexible API for testing with Selenium that allows for multiple test \
cases to share a single instance of Selenium/SeleniumServer/Jetty </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-966'>TAP5-966</a>] -         \
TapestryFilter should be able add additional modules to the Registry to accomidate \
different testing (or other) execution configurations </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1013'>TAP5-1013</a>] -       \
Live class reloading for service implementations </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1028'>TAP5-1028</a>] -       \
Validator Macros: Combine multiple common validators into a single term </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1035'>TAP5-1035</a>] -       \
In places where an invalid key is used to accessed a named value, Tapestry should \
report the possible names better (using HTML lists, rather than a long \
comma-separated string) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1056'>TAP5-1056</a>] -       \
The application global message catalog should be injectable into services </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1064'>TAP5-1064</a>] -       \
Extend PropertyAccess to understand Scala style properties (which use a different \
naming convention than JavaBeans) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1065'>TAP5-1065</a>] -       \
Non-visual mixin to generate events as it begins/ends rendering (useful for \
generating matching JavaScript) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1079'>TAP5-1079</a>] -       \
Live class reloading should extend to proxied objects (such as from \
ObjectLocator.proxy() </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1084'>TAP5-1084</a>] -       \
Zones that initially render inside a Form should support updates within the Form \
</li> <li>[<a href='https://issues.apache.org/jira/browse/TAP5-1095'>TAP5-1095</a>] - \
LocalizationSetter service should expose the supported locales as a list of Locale \
and as a SelectModel </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1097'>TAP5-1097</a>] -       \
New annotation: @HeartbeatDeferred to mark component methods that should execute at \
the end of the current Heartbeat </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1098'>TAP5-1098</a>] -       \
Provide new SelectModelFactory service that can automatically build a standard \
SelectModel from objects and property names </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1099'>TAP5-1099</a>] -       \
Introduce public service responsible for handling page activation </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1121'>TAP5-1121</a>] -       \
Provide an annotation to support automatic discarding of the persistent fields after \
a component or page method invocation </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1159'>TAP5-1159</a>] -       \
Easy way to customize search locations for page and component templates </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1190'>TAP5-1190</a>] -       \
New page-level events to &quot;decorate&quot; component event and page render links \
</li> </ul>
                    
<h2>        Task
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-11'>TAP5-11</a>] -         \
CookiesImplTest does specify a domain cookie with a domain not prefixed with a . \
(dot) </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-556'>TAP5-556</a>] -         \
Fix TranslatorSourceImplTest </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-756'>TAP5-756</a>] -         \
Add ioko-tapestry-commons to the related projects list </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-819'>TAP5-819</a>] -         \
remove ide-specific files from all sub-modules and add them to svn:ignore </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-969'>TAP5-969</a>] -         \
Method AbstractField.createDefaultParameterBinding() should be deprecated </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-976'>TAP5-976</a>] -         \
Upgrade Spring dependencies to version 3.0.0.RELEASE </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1081'>TAP5-1081</a>] -       \
Remove formos references from 5.2.0 archetype </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1087'>TAP5-1087</a>] -       \
Upgrade TestNG dependencies to version 5.12.1 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1134'>TAP5-1134</a>] -       \
Upgrade Hibernate dependencies to 3.5.2 </li>
<li>[<a href='https://issues.apache.org/jira/browse/TAP5-1195'>TAP5-1195</a>] -       \
Rename annotations @QueryParameter and @QueryParameterMapped (both introduced in \
5.2.0) to more mnemonic names </li>
</ul>
                

    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action" \
class="grey">Change Notification Preferences</a>  </div>
        <a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.0">View \
Online</a>  |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=23339384&revisedVersion=2&originalVersion=1">View \
Changes</a>  </div>
</div>
</div>
</div>
</div>
</body>
</html>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic