Hello, Tapestry community!

Tapestry 5.8.3, after a long year, has finally been released, and it
has a long list of release notes! :)
It should very soon be accessible at
https://tapestry.apache.org/release-notes-582.html, but here's a text
version of its highlights (which don't include all enhancements and
bugs):

TAP5-2742 - Smarter page cache invalidation CLOSED Smarter page cache
validation (also known as multiple classloader mode). Besides
collecting dependencies between page, component, mixin and base
classes, this enhancement, when turned on, allows Tapestry to
invalidate just the cached page instances that need to be rebuilt when
a class, template, messages properties or asset is changed. It's
documented in the Multiple Classloader Mode/Smarter Page Class
Invalidation section of the class reloading page.

TAP5-1733 - Throw bespoke exceptions so they may be more easily
identified by Error Handlers CLOSED Tapestry no longer logs an
OperationException when a client submits a form using a method other
than POST. Previously, the log entry would explain that "Forms require
that the request method be POST and that the t:formdata query
parameter have values." Likewise, in production mode, instead of
displaying the error page, Tapestry silently redirects back to the
page containing the form.

TAP5-2708 - CssCompressor update/optimizations RESOLVED TAP5-1733 -
Throw bespoke exceptions so they may be more easily identified by
Error Handlers CLOSED TAP5-2600 - CSS minification breaks transition
statement RESOLVED The YUI CssCompressor got updated to the latest
available code, which fixes multiple issues (TAP5-2753, TAP5-2708,
TAP5-2600).

As Yahoo doesn't develop the Compressor further, a better testing
environment was added to tapestry-webresources to fix any upcoming CSS
compression issues faster.
TAP5-2745 - Tree component with empty list of root nodes causes
NullPointerException RESOLVED The Tree component now gracefully
handles an empty list of root nodes instead of throwing an NPE.

TAP5-2743 - PerThreadValue<T> should provide more convenience methods
RESOLVED Convenience methods added to PerThreadValue for easier use:
T computeIfAbsent(Supplier<? extends T> fn)
T computeIfPresent(Function<? super T, ? extends T> fn)
T compute(Function<? super T, ? extends T> fn)
void ifSet(Consumer<? super T> action)

TAP5-2730 - Misspelt ‘ComnpressedModules’ object id RESOLVED
CookieBuilder now accepts java.time.Duration for its maxAge-related
operation.
Also, a TypeCoercion for TimeInterval->Duration was added, so Duration
is usable for SymbolConstants.COOKIE_MAX_AGE.

TAP5-2735 - LocalizationSetter should add "void
setLocaleFromRequest(Request)" RESOLVED New method void
setNonPersistentLocaleFromRequest(Request request) added to
LocalizationSetter to expose all of the locale handling through the
service.

TAP5-2739 - Remove org.apache.tapestry5.ioc.internal.util.JDKUtils and
org.apache.tapestry5.ioc.internal.util.DummyLock RESOLVED Remnants
from Java 5->6 transitions removed:
org.apache.tapestry5.ioc.internal.util.JDKUtils and
org.apache.tapestry5.ioc.internal.util.DummyLock.

TAP5-2730 - Misspelt ‘ComnpressedModules’ object id RESOLVED Misspelt
internally used id in org.apache.tapestry5.modules fixed
(ComnpressedModules -> CompressedModules)

Happy coding!

-- 
Thiago

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to