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