Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Thursday, March 26, 2009


I'm in the process of creating the Tapestry release, to be voted on. I think will ultimately be the beta release for 5.1, and possibly the final release. The goal is to have a significant upgrade of Tapestry 5.0 that is backwards compatible* to 5.0 but offers great improvements in speed, improved components and Ajax capabilities, and improved localization support (especially on the client side).

Release Notes - Tapestry 5 - Version


  • [TAP5-39] - 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)
  • [TAP5-573] - NullPointerException during AJAX form submit
  • [TAP5-578] - If a component class is abstract, trying to instantiate it (by including it in a template) yields an inscrutable InstantiationError
  • [TAP5-590] - A JavaScript error for non-required fields will force Ajax form submits to be handled as a full-page request instead
  • [TAP5-593] - Calling ApplicationStateManager.exists() will throw an exception when the session has been invalidated
  • [TAP5-598] - Hard-coded messages inside tapestry.js are not localized
  • [TAP5-600] - The new Blackbird console makes Safari JavaScript completely non-functional


  • [TAP5-265] - Add a Hidden component, used to synchronize a value between the server and the client
  • [TAP5-398] - 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)
  • [TAP5-566] - TextField documentation should explain why the required value parameter is not bound in the example
  • [TAP5-581] - Quickstart archetype should include testng.xml and webdefault.xml
  • [TAP5-584] - Omit generator meta (from head element) when root element is not html
  • [TAP5-586] - The JavaScript waitForPage() handler does not need to be added when rendering a partial Ajax response
  • [TAP5-589] - Add a method to DOM Element class to allow the collection of Attributes to be obtained
  • [TAP5-591] - FAQ: Creating a page render Link from a service
  • [TAP5-605] - There should be a simple way to override automatic JavaScript libraries and Stylesheets

New Feature

  • [TAP5-288] - Replace JavaScript client-side logging with Blackbird
  • [TAP5-549] - JavaScript libraries should be combined into a single request
  • [TAP5-557] - Provide support for URL rewriting
  • [TAP5-562] - tapestry-hibernate should provide a built-in status page to show basic Hibernate statistics inlcuding cache hits, etc.
  • [TAP5-594] - Add simple PageRenderLinkSource service to allow services to create Links to pages


  • [TAP5-510] - Improve code coverage of JSON unit tests
  • [TAP5-575] - Add svn:eol-style=native to source files

My plans for 5.2 are to finally get the Spring Web Flow and Portlet support in, along with the "skinning" component I've been thinking about. And to continue to make upgrading from release to release as painless as possible ... and to do it fast, just another couple of months from whenever 5.1 goes out.

No comments: