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 >