Lance S: +1 (non-binding)
 On 2 Sep 2014 20:19, "Howard Lewis Ship" <hls...@gmail.com> wrote:

> I've created and uploaded a release of Tapestry 5.4-beta-17, ready to be
> voted upon.
>
> The source and source downloads are uploaded to:
>
> http://people.apache.org/~hlship/tapestry-releases/
>
> and the Maven artifacts staged to:
>
> https://repository.apache.org/content/repositories/staging/
>
> Please examine these files to determine if the new release, 5.4-beta-17, is
> ready.
>
> I've also created a 5.4-beta-17 tag in Git:
>
>
> https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=90e9bccb2cd3ebc8b502bee0bfc2aa03d11d9ba7
>
> Vote will run for three days; On a successful vote, I'll release the Maven
> artifacts, and move the source and javadoc distributions from these
> directories
> to the proper distribution directories and update the Tapestry site
> documentation, and send out appropriate notifications.
>
>
> Howard M. Lewis Ship: +1 (binding)
>
>
>
> P.S. This is the current release notes from JIRA:
>
>
> Release Notes - Tapestry 5 - Version 5.4
>
>
>
>
> ** Bug
>     * [TAP5-311] - NPE in BeanDisplay if used in a form with a default
> model
>     * [TAP5-736] - TextField validate parameter allows Null, but throws NPE
>     * [TAP5-773] - Select component should have parameter to allow option
> labels to be rendered w/o HTML entity escaping
>     * [TAP5-800] - Server side error during provideCompletions event for
> Autocompleter mixin is not reported on the client side properly
>     * [TAP5-805] - DateField does not allow disabling of client-side
> validation, side-effects
>     * [TAP5-860] - JavaScript errors when adding validations to checkboxes
>     * [TAP5-901] - Generics return wrong type when subclassing page
>     * [TAP5-983] - CLONE -NPE in BeanDisplay if used in a form with a
> default model
>     * [TAP5-986] - A request can fail with an NPE in some cases, when a
> Tapestry page is acting as the servlet container error page
>     * [TAP5-1010] - Fix Finnish validation message translation - corrected
> file attached
>     * [TAP5-1066] - Client-Id and Links in Grid not correct when putting a
> Grid inside a Loop
>     * [TAP5-1193] - tapestry.js prevents using the back/forward browser
> cache
>     * [TAP5-1200] - Nested Ajax calls result in a call to $T(null)
>     * [TAP5-1305] - Service decorations can fail if using the conventional
> naming
>     * [TAP5-1480] - Couldn't create property conduits for generic
> interfaces
>     * [TAP5-1493] - Property expressions on properties that are covariant
> on a base class use the type of the base class property, not the covariant
> subclass
>     * [TAP5-1548] - Property expressions fails when using a supertype that
> implements an interface with a matching method
>     * [TAP5-1569] - Grid should implement the ClientElement interface
>     * [TAP5-1601] - Sometime a method that references a field with a
> conduit will not be instrumented, resulting in an NPE accessing the field
> itself
>     * [TAP5-1658] - Submit context does not work inside Grid
>     * [TAP5-1668] - JavaDoc for @Parameter.value() should be clearer about
> the empty string
>     * [TAP5-1672] - PropertyDisplay component will swallow NPEs when
> evaluating the property, leaving no clue about the actual NPE
>     * [TAP5-1689] - Grid pagination details should be overridable via a
> Grid parameter to support Grids that render in loops
>     * [TAP5-1691] - AssetPathConstructorImpl should URL-encode the
> application version
>     * [TAP5-1704] - Localizing the "Today" and "None" labels in the core
> datefield component
>     * [TAP5-1729] - Sometimes YUICompressor can fail with
> java.util.EmptyStackException
>     * [TAP5-1730] - Ajax Zone is improperly reloaded when a mixin submits
> form via JavaScript
>     * [TAP5-1734] - Race condition loading JavaScript libraries with
> ProgressiveDisplay
>     * [TAP5-1735] - Most packages lack package-level javadocs
>     * [TAP5-1736] - Overriding a base class abstract event handler method
> causes the sub-class method to be invoked twice
>     * [TAP5-1741] - Parsing template which contains Chinese (Maybe other
> double bytes) words throws MalformedByteSequenceException: Invalid byte 3
> of 3-byte UTF-8 sequence.
>     * [TAP5-1742] - AfterRender() in Loop component should not short
> circuit
>     * [TAP5-1744] - Returning a StreamPageContent instance from any of a
> Form's events results in "Form components may not be placed inside other
> Form components" exception
>     * [TAP5-1752] - Component cannot receive any event in a case when
> transformer added event handler before OnEventWorker
>     * [TAP5-1762] - Some components do not have include a description of
> their parameters in their JavaDoc pages
>     * [TAP5-1765] - PerThread scope is not honored when service is created
> using autobuild
>     * [TAP5-1768] - @ActivationRequestParameter does not encode to be URL
> friendly
>     * [TAP5-1769] - Form submitted with an ajax request should not have the
> ValidationTracker persist values
>     * [TAP5-1770] - PageTester causes StringIndexOutOfBoundsException for
> any page request path with query parameter
>     * [TAP5-1773] - FormFieldFocus mixin passes control name, not client
> id, to JavaScriptSupport.autofocus()
>     * [TAP5-1778] - Template parsing dependent on JVM default charset
>     * [TAP5-1779] - Tapestry allows directory listing of assets via client
> browser
>     * [TAP5-1784] - Extra comma in tapestry-messages_de.js causes Internet
> Explorer to fail to work
>     * [TAP5-1785] - Exceptions while compressing JavaScript are not fully
> reported
>     * [TAP5-1787] - TextField should be usable with HTML5 type values (such
> as "number", "email", etc.)
>     * [TAP5-1788] - Service id 'environment' has already been defined by
> org.apache.tapestry5.services.TapestryModule with Spring 3.1
>     * [TAP5-1791] - On some JDKs, the complex regular expression used by
> ComponentEventLinkEncoderImpl will cause a stack overflow
>     * [TAP5-1795] - Validators exception in italian locale
>     * [TAP5-1798] - Grid and BeanDisplay should ignore properties that are
> actually static fields
>     * [TAP5-1802] - Component tracing check should check if there is a
> request
>     * [TAP5-1822] - LinkSecurity should be public, not internal, as it is
> used with the public Link interface
>     * [TAP5-1825] - Incorrect order of parameter in localization messages
> within ValidationMessages Italian lang
>     * [TAP5-1831] - DelegatingInjectionResources does not pass generic type
> information to its first delegate
>     * [TAP5-1836] - "LocalhostOnly" WhitelistAnalyzer check
> "0:0:0:0:0:0:0:1%0" ip address instead "0:0:0:0:0:0:0:1"
>     * [TAP5-1844] - Datefield not fires onchange event on changes
>     * [TAP5-1848] - tapestry-jpa ignores persistence provider from
> persistence.xml
>     * [TAP5-1854] - AjaxComponentEventRequestHandler doesn't handle the
> case where a response has already be returned, and may append an empty JSON
> Object to the response
>     * [TAP5-1860] - Access to protected component fields does not always
> reflect in subclasses
>     * [TAP5-1865] - Chinese valication message issue
>     * [TAP5-1868] - SRSCachingInterceptor returns compressed version of
> asset for all clients once it was compressed for some client
>     * [TAP5-1870] - javascript added while in the render phase of a
> component from an ajax request is never executed
>     * [TAP5-1873] - JavaScript execution exception is not logged
>     * [TAP5-1880] - GZip compression should be disabled if the request is
> over http 1.0
>     * [TAP5-1881] - TypeCoercion from Number to Boolean returns false for
> any number that is an even multiple of 256
>     * [TAP5-1885] - Error in PropertyAccess service
>     * [TAP5-1887] - Client-side JavaScript error if console.info/debug/...
> is available but not a function
>     * [TAP5-1890] - PlaceholderBlock should implement RenderCommand
>     * [TAP5-1892] - FormFragment validates non-displayed fragments (reopen)
>     * [TAP5-1903] - Client-side exception when a Zone containing a Form
> with an Upload component is re-rendered
>     * [TAP5-1906] - Interaction between client-side validation and submit
> buttons can result in a server-side error parsing JSON array
>     * [TAP5-1907] - Client exception in IE9 when partial page render
> introduces stylesheets
>     * [TAP5-1911] - Tree leaf is still not selectable
>     * [TAP5-1926] - PropertyDisplayBlocks Date's display block is not
> thread safe
>     * [TAP5-1929] - High contention in method
> InternalComponentResourcesImpl.postRenderCleanup() and NamedSet.getValues()
>     * [TAP5-1931] - Alerts can not be dismissed in IE8.
>     * [TAP5-1933] - Email validation should use a different regular
> expression
>     * [TAP5-1934] - Kaptcha Component throws NPE after session is expired
>     * [TAP5-1935] - ContextResource uses a deprecated File.toURL
>     * [TAP5-1937] - removeCookieValue with custom path
>     * [TAP5-1938] - The ValueEncoder for JPA entity types should encode
> transient instances as null rather than throw an exception
>     * [TAP5-1941] - Alerts component can fail with ComponentEventException
> is dismiss event triggered outside of XHR request (e.g., by web crawler)
>     * [TAP5-1945] - Clojure integration breaks if tapestry-core is on the
> classpath
>     * [TAP5-1949] - Alerts component does not show alerts added from a
> component that occurs later in the template
>     * [TAP5-1950] - ResourceStreamer sends SC_NOT_MODIFIED as an error, but
> it should be just status
>     * [TAP5-1952] - JavaScript Compressor should log warnings as well as
> errors, and identify the input clearly
>     * [TAP5-1956] - Tapestry.ZoneManager creates memory leaks
>     * [TAP5-1960] - @javax.annotations.Inject on a field, without @Named,
> does not inject service resources
>     * [TAP5-1963] - Original exception lost in CommitAfterWorker upon abort
>     * [TAP5-1964] - In production mode, placeholder timestamp needs to be
> limited to one-second accuracy
>     * [TAP5-1969] - Excessive warnings from YUICompressor
>     * [TAP5-1973] - In certain development cases when switching from
> insecure to secure, BaseURLSource will still include :443 in the URL
>     * [TAP5-1976] - XML Parser adds attributes with default values and
> produces invalid HTML5 markup
>     * [TAP5-1977] - Memory leak (perm gen) in component reloading
>     * [TAP5-1979] - Changing the implementation of a method after adding
> method advice does not work; the original implementation remains
>     * [TAP5-1983] - PerThreadManager does not cleanup on shutdown, can lead
> to memory leaks when application redeployed
>     * [TAP5-1984] - Adding alerts doesn't work during ajax rendering
>     * [TAP5-1985] - Clicking Alert component's "dismiss all" link scrolls
> to top of page
>     * [TAP5-1988] - Tapestry Security Violations
>     * [TAP5-1991] - YUICompressor should be less verbose about common
> warnings
>     * [TAP5-1992] - Switch YUICompressor dependency back to com.yahoo
> version 2.4.7
>     * [TAP5-1995] - Tapestry5 Application can not be deployed as Tomcat7
> HotDeploy Package
>     * [TAP5-2001] - Race condition while loading javascript file via ajax
>     * [TAP5-2004] - Tapestry-Ioc fails to build on Windows
> (ReloadTest.java)
>     * [TAP5-2008] - Serialized object data stored on the client should be
> HMAC signed and validated
>     * [TAP5-2009] - Downgrade bundled Prototype version back to 1.7
>     * [TAP5-2010] - Broken links in Javadoc pages
>     * [TAP5-2014] - Zone highlight leaves behind an explicit
> background-color which overrides css background-color
>     * [TAP5-2015] - Tomcat .war path is not decoded properly
>     * [TAP5-2017] - Triggerfragment Mixin does not work when used within a
> table element for IE7
>     * [TAP5-2020] - Tree label block should be rendered inside an heartbeat
>     * [TAP5-2025] - Duplicate generated ids
>     * [TAP5-2030] - @RequestParameter with Long fails with blank values
> even if allowBlank = true
>     * [TAP5-2034] - When the application operates with a context path,
> asset URLs are incorrectly formed
>     * [TAP5-2037] - ValidationTracker/Flash persistence race condition with
> AJAX
>     * [TAP5-2040] - TapestryAppInitializer should have access to system
> properties; this is a reversion in 5.4
>     * [TAP5-2041] - Links within subheadings are invisible on Javadoc pages
>     * [TAP5-2044] - Misleading error message in logs when accessing
> classpath assets
>     * [TAP5-2045] - Set default CSS class for Label component to be
> "control-label", but allow overrides
>     * [TAP5-2047] - ElementWrapper#find jQuery implementation is broken if
> there is no match
>     * [TAP5-2049] - Tapestry should provide locking semantics for
> attributes stored in the session, to prevent multiple simultaneous requests
> (due to Ajax) from conflicting
>     * [TAP5-2052] - tapestry-ioc has a compile dependency on tapestry-test
>     * [TAP5-2053] - Use of 'transient' property in alert options breaks
> JavaScript processors
>     * [TAP5-2054] - `dom.js` implementations break when minified
>     * [TAP5-2057] - CSS URL rewriting is incomplete
>     * [TAP5-2061] - core_**.properties got wrong encoding
>     * [TAP5-2062] - Ajax alerts not rendered after a JS call to
> dismissOne()
>     * [TAP5-2064] - Add 'info' style to info alerts
>     * [TAP5-2068] - Use <button>, not <a>, tags for the close buttons on
> alerts
>     * [TAP5-2071] - Tapestry should output valid HTML5 when using the HTML5
> doctype in templates
>     * [TAP5-2073] - AbstractEventContext always emits "null" regardless of
> what values are defined by subclass
>     * [TAP5-2079] - Tapestry should handle the case where the context path
> is (incorrectly) "/" (not the empty string)
>     * [TAP5-2081] - datefield: cannot blank out date value via text input
>     * [TAP5-2082] - When the last alert that is removed is transient, the
> outer container is not removed
>     * [TAP5-2083] - Failing to load asset / stylesheet with @Import
> annotation in subclassed component
>     * [TAP5-2084] - Form should decode its link parameters
>     * [TAP5-2087] - Checkboxes in forms always return "on" (considered as
> "checked" server-side)
>     * [TAP5-2089] - JavaScript errors when using Autocomplete mixin
>     * [TAP5-2092] - Tapestry-mongodb has a compile dependency on
> tapestry-test
>     * [TAP5-2095] - Module assets should not be sent a far-future expires
> header
>     * [TAP5-2096] - JBoss 4.2.3 Classpath scanning fails for nested paths
>     * [TAP5-2100] - ZoneRefresh mixin triggers refresh event with wrong
> context
>     * [TAP5-2101] - BeanEditor should always provide a new
> BeanValidationContext (JSR-303)
>     * [TAP5-2103] - ElementWrapper#text() jQuery implementation does not
> work
>     * [TAP5-2106] - Tapestry incorrectly rewrites CSS urls in a variety of
> cases
>     * [TAP5-2108] - BeanEditForm's cancel button triggers "success" event
>     * [TAP5-2110] - MinLength and MaxLength validators don't import
> "t5/core/validation"
>     * [TAP5-2111] - ZoneRefresh doesn't document/declare its 'refresh'
> event
>     * [TAP5-2119] - Depenencies excluded in Gradle build files are not
> excluded in the generated Maven POMs
>     * [TAP5-2120] - StringIndexOutOfBoundsException computing relative
> paths for certain Resources
>     * [TAP5-2121] - Broken image (for Tapestry Logo) in generated
> documentation page
>     * [TAP5-2122] - visible() on empty <div> is false; prevents valiation
> of Palette component
>     * [TAP5-2124] - events.zone.refresh must be triggered directly on zone
> element, can fail otherwise
>     * [TAP5-2125] - Ajax form submissions via jQuery may pass t:formdata as
> "t:formdata[]" if there are multiple values
>     * [TAP5-2126] - TAP5-2063 fix (multi-valued parameters in Link)
> conflicts with use of ActivationRequestParameter and PageLink.parameters
> parameter
>     * [TAP5-2128] - @Import leads to StringIndexOutOfBoundsException
>     * [TAP5-2130] - Services interfaces that inherit from "Runnable" cause
> @Startup methods being called twice
>     * [TAP5-2132] - Generation of documentation for t5/core/dom should use
> the split (for jQuery, for Prototype) files, not the combined source file
>     * [TAP5-2133] - DefaultRequestExceptionHandler swallows exceptions
>     * [TAP5-2135] - @Cache annotation converts thrown checked exceptions
> into RuntimeExceptions
>     * [TAP5-2137] - Tree component renders empty nodes as expandable,
> AssertionError when expanded
>     * [TAP5-2141] - Ajax form submission should ignore fields with no name
>     * [TAP5-2142] - Exceptions thrown during Ajax processing or validation
> force a traditional form submission
>     * [TAP5-2148] - VersionUtils should close the stream it opens
>     * [TAP5-2154] - Environment keys with empty associated stacks should
> not be listed as available
>     * [TAP5-2158] - Client-side validation of @Size is not working when
> only min or max is set
>     * [TAP5-2163] - Adapt DateField style to Bootstrap 3
>     * [TAP5-2165] - Resource name case check breaks applications on windows
>     * [TAP5-2167] - Asset location warnings are actually coded as errors
>     * [TAP5-2168] - Asset Not Found messages are prompting to put assets
> into wrong location
>     * [TAP5-2169] - Core stack is not included by default
>     * [TAP5-2171] - LinkSubmit Broken With Client-side Validation
>     * [TAP5-2177] - The Errors component may output the same message
> multiple times
>     * [TAP5-2178] - Can get a servlet error 500 if a page can not be
> assembled due to new link back to page
>     * [TAP5-2179] - The Select component can be hacked to select a value
> not in the SelectModel
>     * [TAP5-2180] - SeleniumTestCase assumes that Selenium Server runs on
> the default port
>     * [TAP5-2182] - BeanEditor should be more flexible in the markup it
> generates (was BeanEditor doesn't look as good in T5.4 as in T5.3)
>     * [TAP5-2183] - 5.4 Linksubmit does not generate events with Bootstrap
> glyphicon
>     * [TAP5-2184] - Select component fails validation due to type mismatch
> when using  model generated from String
>     * [TAP5-2185] - Problem with the asset checksums and relative paths
> based on them
>     * [TAP5-2187] - CSS relative URL rewriting isn't lenient enough
>     * [TAP5-2188] - Typo & Java Script error in Upload component /
> JavaScript module "injected-uploader.js"
>     * [TAP5-2189] - Upload component does not override the isRequired
> method
>     * [TAP5-2197] - @Import without stack puts imported stylesheet before
> the core stack ones
>     * [TAP5-2200] - Generating XML from pages and templates is not possible
> anymore
>     * [TAP5-2204] - Select component fails if SelectModel doesn't exist on
> submit
>     * [TAP5-2206] - support parsing of JPA 2.x definitions
>     * [TAP5-2212] - If component example contains a pagelink with wrong
> parameter name/type
>     * [TAP5-2218] - Update bundled Bootstrap to 3.0.2
>     * [TAP5-2219] - XML-Parsing broken if system encoding is not UTF-8
>     * [TAP5-2221] - Aggregated JavaScript stacks are not passed through the
> JavaScript minimizer
>     * [TAP5-2223] - New "secure" flag in Select component has a bug when
> using option groups
>     * [TAP5-2226] - Replace kaptcha dependency with maintained version
> com.github.axet:kaptcha:0.0.8
>     * [TAP5-2227] - Update Less4J to version 1.2.1 for compatibility with
> Bootstrap 3.0.2
>     * [TAP5-2228] - Ajaxformloop.js gives a javascript error on "add row"
> in jquery mode
>     * [TAP5-2230] - AjaxFormLoop Add Row Broken
>     * [TAP5-2231] - Ajax form submits all possible radio values
>     * [TAP5-2233] - AjaxFormLoop: rowvalue missing when removeRowLink is
> not plain text
>     * [TAP5-2234] - Refreshing the browser in Eclipse on Windows sometimes
> fails with a locking exception
>     * [TAP5-2236] - It should be possible to determine when there are
> active Ajax requests
>     * [TAP5-2237] - t5/core/alert module - wrong default CSS class for
> alert
>     * [TAP5-2243] - T5.4 tapestry-core integration test app1/xmlcontent
> page fails
>     * [TAP5-2246] - Internet Explorer 8 JavaScript Error in pageinit.js /
> development mode
>     * [TAP5-2249] - Rendering an empty If component can cause a
> RenderQueueException
>     * [TAP5-2256] - Sorting is broken for Grid inline="true" in a loop
>     * [TAP5-2257] - Missing in tapestry-core jar two pictures: expand.png
> and collapse.png
>     * [TAP5-2262] - IOC bind method does not allow specification of
> multiple markers
>     * [TAP5-2264] - ResponseCompressionAnalyzerImpl ignores
> 'tapestry.supress-compression' request attribute for assets and modules
>     * [TAP5-2266] - @code JavaDoc is stripped entirely from component
> reference output
>     * [TAP5-2267] - Contributing ExceptionHandlerAssistant instances to
> RequestExceptionHandler is broken
>     * [TAP5-2269] - Client persistence strategy does not detect changes to
> internal state of mutable objects
>     * [TAP5-2270] - BeanDisplay exception when used inside a Form
>     * [TAP5-2271] - Glyphyicon component should support informal parameters
>     * [TAP5-2272] - IE8 Breaks in use of ownerNode in pageinit.js
>     * [TAP5-2273] - TapestryIOCJunit4ClassRunner
>     * [TAP5-2275] - Kaptcha setting invalid caching response headers
>     * [TAP5-2278] - ModuleDispatcher should send 404 response when the
> request includes the prefix, but not a valid module path
>     * [TAP5-2279] - Returning a link from Ajax event does not cause refresh
> if URL is the same
>     * [TAP5-2282] - Email validator error
>     * [TAP5-2285] - Tapestry-Hibernate hibernate-core-4.1.2 mysql bug
>     * [TAP5-2293] - Closure minimizer produces invalid output on non-UTF-8
> systems
>     * [TAP5-2294] - Wrong line endings in app startup messages on Windows
>     * [TAP5-2296] - Upgrade Hibernate dependencies to current version
> 4.3.1.Final
>     * [TAP5-2298] - "Any" component  lacks any useful documentation
>     * [TAP5-2300] - JavaScriptSupport.addInitializerCall is not backwards
> compatible
>     * [TAP5-2303] - Navigation control in Layout component not rendering
> properly 5.4beta3 quickstart app
>     * [TAP5-2306] - Mixin parameters should be qualified (with the new 5.4
> DTD)
>     * [TAP5-2307] - Client validation does not shift focus to the (first)
> field in error
>     * [TAP5-2311] - [5.4-beta-3] Fail to Reload page in a directory: /
> converted to $002f
>     * [TAP5-2317] - AbstractFlow.count() thows StackOverflowError for large
> Flows
>     * [TAP5-2324] - Tapestry may send a 304 response to a browser that has
> an asset who minimized/non-minimized state does not match the server's
> configuration
>     * [TAP5-2330] - NullPointerException when updating a Zone with no
> clientId
>     * [TAP5-2331] - Can't stop tapestry generating clientId for fields
>     * [TAP5-2342] - NPE on
> org.apache.tapestry5.json.JSONObject.printValue(JSONObject.java:950)
>     * [TAP5-2344] - text assets (including modules and stacks) should
> assume a utf-8 charset, and incude ;charset=utf-8 in the response content
> type
>     * [TAP5-2351] - Missing Bootstrap CSS Source Map
>     * [TAP5-2359] - LinkSubmit submits form twice on Internet Explorer
> 11/Windows 8.1
>     * [TAP5-2361] - Overriding the default Bootstrap files can make
> exception report or dashboard pages unreadable
>     * [TAP5-2364] - Tapestry can use prohibited operations in some
> environments, such as Google App Engine
>     * [TAP5-2365] - PlasticUtilsTests."Do not urlencode file paths" fails
> when using openjdk7
>     * [TAP5-2370] - [JavaScript][utils] startsWith method unexpected
> behavior.
>     * [TAP5-2377] - ComponentClassResolver should ensure that page names,
> component types, mixin names uniquely identify a single class
>     * [TAP5-2380] - [JavaScript][t5/core/dom] missused target on eventlink
>
> ** Dependency upgrade
>     * [TAP5-2295] - Vulnerability in Tapestry-upload module due to
> commons-file-upload
>     * [TAP5-2379] - Upgrade to Less4j 1.8.1 and ANTLR 3.5.2
>     * [TAP5-2381] - Upgrade to Hibernate 4.3.6.Final
>
> ** Documentation
>     * [TAP5-2348] - Improve the JavaDoc for ComponentPageElement to explain
> what it is for
>
>
> ** Improvement
>     * [TAP5-244] - Let Grid show column headings when no data
>     * [TAP5-336] - The Cookies service interface could be simplified using
> a builder pattern
>     * [TAP5-633] - Allow page classes to have a "Page" suffix that is not
> included in the URL
>     * [TAP5-672] - Translation for Vietnamese
>     * [TAP5-952] - Make tapestry-core independent from test dependencies
>     * [TAP5-1007] - When Tapestry is loading templates or other files on
> case-insensitive OSs (Windows) it should trigger an error if the file name
> case is incorrect (which will result in a runtime failure on case-sensitive
> OSs, such as Linux)
>     * [TAP5-1008] - The order in which zones are added to the
> MultiZoneUpdate should be honored on the client side, to allow nested zones
> to be updated all in a single request
>     * [TAP5-1213] - ComponentResources should give access to generic
> parameters of bound types
>     * [TAP5-1249] - Select component and Bean Validator
>     * [TAP5-1268] - Have Tapestry's core library contribute to the global
> message catalog; move all validation messages and component catalogs to the
> single file
>     * [TAP5-1290] - Add required flag to @ActivationRequestParameter
> annotation
>     * [TAP5-1394] - Adding method to Cookies api that lets you set path,
> domain, and maxAge at once.
>     * [TAP5-1403] - Add support for Arrays in request parameters
>     * [TAP5-1404] - Should be possible to perform an Ajax request without
> linking the component (link or form) to a Zone
>     * [TAP5-1405] - XHR requests should be easily callable from javascript
> and not rely on a zone
>     * [TAP5-1446] - Coercion from List to SelectModel should use the
> SelectModelFactory service
>     * [TAP5-1477] - Stack assets should return 404 in stead of exception if
> they don't exist
>     * [TAP5-1481] - In production mode, component event requests that
> reference an unknown component should respond with a 404
>     * [TAP5-1560] - Remove internal dependancies on deprecated features
>     * [TAP5-1570] - Zone elements in the client should trigger events so
> that the application can react to changes
>     * [TAP5-1659] - PageLink: page parameter should accept page-classes and
> page-instances
>     * [TAP5-1718] - Tapestry-beanvalidator isn't validating nested DTO
> objects / Doesn't mark the invalid fields in the UI
>     * [TAP5-1748] - Alerts component should render informal parameters
>     * [TAP5-1756] - Let the asset path prefix be configurable
>     * [TAP5-1767] - Making URLRewrite optionally available for smooth
> upgrading
>     * [TAP5-1775] - Improve javascript performance while creating zone
> events
>     * [TAP5-1781] - Improve javascript load time of pages improving
> onDomLoadedCallback
>     * [TAP5-1783] - Autocomplete mixin should provide clientId or context
>     * [TAP5-1801] - Component fields should not need to be private, merely
> non-public
>     * [TAP5-1805] - Selectable Tree component look and feel is lacking in
> user affordances
>     * [TAP5-1808] - Change Form to (by default) immediately render markup
> when there are validation errors, to avoid creating the session
>     * [TAP5-1816] - Add CSS rule for DIV.t-exception-container to
> default.css that sets a very high z-index
>     * [TAP5-1820] - Default Exception Report Page should have a link to
> discard component class loader and retry
>     * [TAP5-1824] - New translations for Norwegian Bokmål
>     * [TAP5-1827] - KaptchaField should have a parameter to allow it to
> operate as a visible text field rather than a password field
>     * [TAP5-1832] - Tapestry could do an even better job of filtering
> unnecessary stack frames from the exception report
>     * [TAP5-1840] - Add method Request.isSessionInvalidated()
>     * [TAP5-1847] - An extension component template (with a root t:extend
> element) should allow t:block elements to be nested
>     * [TAP5-1849] - The text "Dismiss All" used in client-side Alerts is
> not localized or localizable
>     * [TAP5-1863] - Rendering components in Alerts
>     * [TAP5-1866] - ZoneRefresh mixin should perform cleanup if the zone is
> destroyed
>     * [TAP5-1878] - Default for parameter visible of component KaptchaField
> should change from false to true
>     * [TAP5-1889] - Improve integration test execution speed
>     * [TAP5-1905] - Not serializable:
> org.apache.tapestry5.tree.DefaultTreeExpansionModel - can't persist
> sessions across cluster
>     * [TAP5-1914] - Alerts needs a parameter to show/hide "Dismiss all"
>     * [TAP5-1920] - Create old URL rewriter compatibility package for 5.3.4
>     * [TAP5-1940] - Typo in interface
> LocalizationSetter.setNonPeristentLocaleFromLocaleName()
>     * [TAP5-1970] - JSON API improvements
>     * [TAP5-1978] - Make Errors component support displaying "global"
> errors only
>     * [TAP5-1987] - ProgressiveDisplay update parameter as a symbol
>     * [TAP5-1990] - Link interface should be more fluid to allow setting of
> anchor, etc., more concisely
>     * [TAP5-1993] - Support returning an URL for an ajax request
>     * [TAP5-1996] - Add Severity.SUCCESS enum for alerts
>     * [TAP5-1998] - DateField does not validate dates properly
>     * [TAP5-2012] - Make multiple same name service decoration methods
> error message better
>     * [TAP5-2013] - "Parameters" table often too wide in component javadocs
>     * [TAP5-2022] - Add PropertyAccess.getAnnotation
>     * [TAP5-2029] - Copy annotations from service implementation to proxy
> (was JPA annotations expose implementation details in service interfaces)
>     * [TAP5-2035] - Make it easier to choose another slf4j backend
>     * [TAP5-2039] - Element.attribute() should treat "class" specially,
> appending the new value to the old
>     * [TAP5-2046] - Should use OperationTracker to track type of request
> (ajax component event, traditional component event, page render request)
>     * [TAP5-2050] - Grid sort icons should be added via CSS instead of
> rendering an embedded img element
>     * [TAP5-2051] - Fix Plastic objects memory leaks
>     * [TAP5-2058] - Support X-Forwarded-Proto to identify a Request secured
> (https)
>     * [TAP5-2063] - Add support for multivalued parameters in Link
>     * [TAP5-2070] - Respond with a HTTP 404 if the page is activated with
> an activation context not explicitly supported by the page itself
>     * [TAP5-2098] - JSONObject should keep its properties in the order in
> which they were added
>     * [TAP5-2102] - Allow supplying EntityManager properties via
> TapestryPersistenceUnitInfo
>     * [TAP5-2131] - Update Javadoc CSS to reflect changes in the html
> generate by JDK7
>     * [TAP5-2138] - Support multiple @PageActivationContext
>     * [TAP5-2139] - It should be possible to control whether a given
> JavaScript library is minimized or not
>     * [TAP5-2149] - Support JavaScript aggregation of modules, not just
> libraries
>     * [TAP5-2151] - Convert from Bootstrap 2 to Bootstrap 3
>     * [TAP5-2153] - Adapt quickstart archetype generated sources to be
> bootstrap and 5.4 compatibile
>     * [TAP5-2157] - Czech translations
>     * [TAP5-2192] - Add support for distributed documentation
>     * [TAP5-2196] - RequireJs custom path contribution - via Stacks or
> JavaScriptSupport
>     * [TAP5-2198] - Palette should add the form-control class to its
> selects
>     * [TAP5-2202] - t5/core/dom:ElementWrapper.attribute() should remove an
> element when setting its value to null
>     * [TAP5-2203] - Popup Calendar used by DateField does not have an
> option to cancel changes
>     * [TAP5-2209] - Make JSONObject and JSONArray implement Serializable
>     * [TAP5-2215] - Update Bootstrap to 3.0.1
>     * [TAP5-2216] - Update Less4j and Closure Compiler
>     * [TAP5-2224] - t5/core/ajax should return a RequestWrapper
>     * [TAP5-2229] - Make the DatePicker script an AMD module
>     * [TAP5-2235] - Implement JCache (JSR 107) support in Tapestry-IoC
>     * [TAP5-2238] - When require-ing a module that is part of a JavaScript
> Stack, the entire stack should be imported
>     * [TAP5-2240] - Add a Confirm mixin that confirms a click, using a
> Bootstrap modal dialog
>     * [TAP5-2277] - Update momentjs
>     * [TAP5-2283] - Update Bootstrap to 3.1.0
>     * [TAP5-2284] - The Hibernate ENTITY session persistent strategy should
> store transient entities as-is
>     * [TAP5-2288] - Improve JavaDoc clarity for @Cached annotation.
>     * [TAP5-2289] - Update Bootstrap to 3.1.1
>     * [TAP5-2302] - Tapestry should ignore hashCode, equals and toString in
> module classes
>     * [TAP5-2309] - Hungarian localization for tapestry 5.4
>     * [TAP5-2315] - Using tapestry-upload generates errors/warnings.
>     * [TAP5-2318] - Module responses uses paranoid max-age: 0, should be
> more liberal in production
>     * [TAP5-2334] - Decrease number of operations with HashMap #1
>     * [TAP5-2335] - Decrease number of operations with HashMap #2
>     * [TAP5-2336] - Lock contention in AssetSourceImp
>     * [TAP5-2343] - Allow compilation of Tapestry 5 codebase with JDK 8
>     * [TAP5-2358] - OrderedConfiguration should have consistent ordering
>     * [TAP5-2374] - Unnecessary boolean condition
>
> ** New Feature
>     * [TAP5-682] - Add client-side event triggered before a Zone is updated
> after an Ajax request
>     * [TAP5-938] - Expose ability to render a portion of a page (a Block,
> Component, etc.) without using internal services
>     * [TAP5-999] - Implement an agnostic tapestry.js layer + adapters to
> allow developers to switch from prototype to jquery
>     * [TAP5-1168] - Add @Operation annotation that can be used to
> automatically track a component or service method invocation using the
> OperationTracker
>     * [TAP5-1506] - Add ability to assemble pages and components at startup
>     * [TAP5-1515] - Support for external assets
>     * [TAP5-1611] - out-of-the-box way in Tapestry for replacing components
>     * [TAP5-1740] - The default exception report page should include
> actions to clear the session and return to the home (or root index) page
>     * [TAP5-1794] - Allow for configuring Selenium-based integration tests
> using an annotation
>     * [TAP5-1807] - In development mode, Tapestry should include a <meta>
> tag to identify the active page
>     * [TAP5-1809] - Option to render a particular page instance in its
> current state (without page activation)
>     * [TAP5-1815] - Translators and/or Validators should override the
> <input> element's type attribute where appropriate to use HTML5 types
>     * [TAP5-1833] - Merge functionality of Tynamo.org's
> tapestry-exceptionpage module with the built-in ExceptionHandler
>     * [TAP5-1843] - Allow all of the properties of the Messages services to
> be accessed
>     * [TAP5-1857] - Add a SubmitMode (for Submit and LinkSubmit components)
> for unconditionally submitting the form
>     * [TAP5-1944] - Add basic integration between Tapestry and Clojure
>     * [TAP5-2055] - Polish translations
>     * [TAP5-2065] - Introduce support for MongoDB access as a service
>     * [TAP5-2094] - E-Tags support
>     * [TAP5-2174] - Add a CLI to Jetty7Runner, to make it easier to script
>     * [TAP5-2251] - Add LocalDate component to present formatted date/time
> in client's time zone
>     * [TAP5-2253] - TimeInterval component - display localized interval
> between two dates
>     * [TAP5-2260] - Add support for CDI
>     * [TAP5-2305] - Create a @Sortable annotation for properties
>     * [TAP5-2310] - Add ability to store component actions that are only
> executed when the form is cancelled
>     * [TAP5-2352] - Add hooks to StreamableResource to enable special
> Response logic
>     * [TAP5-2371] - Prevent interaction with page until fully loaded
>
>
>
>
>
>
>
>
> ** Task
>     * [TAP5-1518] - Remove ClassFactory / ClassFab / Javassist Dependency
>     * [TAP5-1738] - Remove code deprecated in Tapestry 5.3 or earlier
>     * [TAP5-1780] - Upgrade Selenium dependency to 2.14.0
>     * [TAP5-1790] - Update Tapestry build to create a binary release
> archive (in addition to a source and javadoc archive)
>     * [TAP5-1792] - Upgrade Tapestry/Spring integration to Spring
> 3.1.0.RELEASE
>     * [TAP5-1810] - Remove deprecated "suppress redirects from action" code
>     * [TAP5-1826] - Setup the Sonar plugin to let analysis.apache.org
> analyze the source base
>     * [TAP5-1852] - Upgrade Plastic to use ASM 4.0
>     * [TAP5-1909] - Update Underscore JavaScript library to latest version
> 1.3.3
>     * [TAP5-1922] - Upgrade Hibernate dependency to latest, Hibernate
> 4.1.2.Final
>     * [TAP5-1965] - Replace use of Request.getContextPath() with a symbol
> defined at application startup
>     * [TAP5-1989] - Upgrade bundled Prototype to version 1.7.1
>     * [TAP5-2161] - Remove the t5/core/grid module
>     * [TAP5-2299] - Update the gradle wrapper version from 1.3 to the
> latest
>
>
>
>
> ** Wish
>     * [TAP5-1027] - DatePicker component: "None", "Today" buttons
> localisation
>     * [TAP5-1501] - Asset Inheritance
>     * [TAP5-2292] - Autocomplete Mixin shows only 5 suggestions
>     * [TAP5-2353] - It should be possible to unregister DOM event listeners
>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
> @hlship
>

Reply via email to