You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2015/04/08 00:15:48 UTC
[5/5] tapestry-5 git commit: Update release notes
Update release notes
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4c8d83ef
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4c8d83ef
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4c8d83ef
Branch: refs/heads/master
Commit: 4c8d83efeae4198bd5fc75fb7385271a066e5290
Parents: db0255c
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Tue Apr 7 15:15:34 2015 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Tue Apr 7 15:15:34 2015 -0700
----------------------------------------------------------------------
54_RELEASE_NOTES.md | 47 +++++++++++++++++++++++++++++------------------
1 file changed, 29 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4c8d83ef/54_RELEASE_NOTES.md
----------------------------------------------------------------------
diff --git a/54_RELEASE_NOTES.md b/54_RELEASE_NOTES.md
index 8dc74df..3c543e1 100644
--- a/54_RELEASE_NOTES.md
+++ b/54_RELEASE_NOTES.md
@@ -50,8 +50,9 @@ Prior versions of Tapestry created cacheable URLs for Assets that incorporated t
Assets were served with a far-future expires header: the client browser would not even need to check to see
if the asset had changed.
-Unfortunately, when any asset changed in a new deployment of the application, the version number needed to
-change, resulting in all assets being downloaded (because the application version number in their URLs changed).
+Unfortunately, when any asset changed in a new deployment of the application, the version number of the entire
+application needed to change, resulting in *all* assets being downloaded
+(because the application version number in their URLs changed).
In this release, individual assets are given a URL containing a checksum based on the asset's content. When the underlying
file is changed, the asset will be served with the new URL, but unchanged assets will not be affected. This means
@@ -99,8 +100,8 @@ mode (but disabled in production mode):
- Re-render the current page with component rendering comments
- Reset the current page's persistent state
- Kill (invalidate) any HttpSession
-- Open the T5 Dashboard in a new window
-- Reload component classes
+- Open the T5 Dashboard in a new tab
+- Force the reload of component classes
## T5Dashboard Page
@@ -146,12 +147,15 @@ never, or always.
# Breaking Changes:
+## Java 1.6 required
+
+As of version 5.4, Tapestry requires Java 1.6 at least.
+
## clientId required for Ajax field decoration
Applications that perform server-side validation of form control data (such as TextField) *as part of
-an Ajax Zone update* must now
-set the clientId parameter of the TextField in order for client-side validation decoration and error messages
-to appear.
+an Ajax Zone update* should bind the Zone's simpleIds parameter to true. This disables the injection of a per-request
+unique id into allocated client-side ids and client-side control names.
Non-Ajax requests are not affected. Client-side validation is not affected. Only the rare case where validation
only occurs on the server is affected; Tapestry has lost the ability to coordinate the Tapestry-generated id
@@ -199,7 +203,11 @@ resurface in the future as a CSS expression, but is currently not supported.
## ExceptionReport Page
-The default exception report page has been modified to display a list of threads.
+The default exception report page has been improved dramatically:
+- Formatting improvements, care of Bootstrap
+- New links at the top of the page, to reload the failed page, or back to the root
+- In development mode, additional links to reload pages after clearing the component cache
+- A list of all threads, including their status
## Page Suffix for Page Names
@@ -235,7 +243,7 @@ properties to the global JavaScript window object, rather than assume that the c
Only a limited number of properties exported in the `T5` and `Tapestry` namespaces (on the client) still exist; enough
to continue to support the `T5.initializers` approach to page initialization that was used in Tapestry 5.3 and earlier.
-These will be eliminated in Tapestry 5.5.
+These will be eliminated entirely in Tapestry 5.5.
## New method on ResourceTransformer
@@ -287,12 +295,19 @@ Support for validating fields on blur (i.e., when tabbing out of a field) has be
the form is submitted, or not at all. The ClientValidation.BLUR enum value has been deprecated and is now treated
identically to SUBMIT.
+## Page loading mask
+
+Tapestry now adds a "page loading mask" to the page; this mask will dim the browser window and add a spinning
+"wait cursor" until all JavaScript on the page has been loaded and initialized. The mask prevents all interaction
+with the page.
+
+CSS animations are used to fade in the mask after a short period of time; this makes the mask less obtrusive.
+
## Wait-for-page logic removed
Tapestry 5.3 contained client-side code that attempted to prevent Ajax requests until after the page had loaded;
this was based on the function `Tapestry.waitForPage()`. Server components no longer make use of this function, and the function
-itself now does nothing. A replacement approach to preventing the user from interacting with links and forms before
-the page initialization has completed may be implemented in the future.
+itself now does nothing.
However, once initial page initialization has occurred, the attribute `data-page-initialized` on the root HTML element
is set to "true". In many cases, automated tests should be updated to wait for this attribute to be set after loading
@@ -379,7 +394,7 @@ need to provide a "prepare" event handler to initialize the property before it i
## Autocomplete Mixin
The Autocomplete mixin has been rewritten to use Twitter typeahead.js (0.10.5); this implies it will also force jQuery onto the page,
-to support the typeahead.js library. In addition, typeahead.js does not support multiple
+to support the typeahead.js library. In addition, typeahead.js does not support multiple
tokens, so this behavior (available in prior releases) has been removed.
## RenderNotification Mixin
@@ -459,13 +474,9 @@ The Grid component no longer emits CSS class names, instead it renders data attr
such as `data-grid-row="first"`, `data-grid-property="title"`, etc. These attributes may still be referenced using CSS rules
where desired.
-## Java 1.6 required
-
-As of version 5.4, Tapestry requires Java 1.6 at least.
-
## ValueEncoder Changes
-The automatic ValueEncoder from String to any Number type, or ti Boolean have
+The automatic ValueEncoder from String to any Number type, or to Boolean have
changed slightly. An empty input string is encoded to a null rather than being passed through
the type coercer. This reflects the desire that a submitted value (in a URL or a form) that is blank
is the same as no value: null.
@@ -487,4 +498,4 @@ interfaces that used a String content type have been changed to use the ContentT
The FormInjector component was removed; it was intended for use only inside the AjaxFormLoop component
(which was rewritten in 5.4 and no longer uses FormInjector). FormInjector was not widely used elsewhere, if
-is was used at all.
+it was used at all.