Thymeleaf 2.0.6 JUST PUBLISHED

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Thymeleaf 2.0.6 JUST PUBLISHED

Thymeleaf 2.0.6 has been just published.

This is a bugfixing release, and works as a drop-in replacement for any previous 2.0.x versions. It includes the following changes from 2.0.5:


- Fixed "Message Resolver has not been initialized" error when more than one message resolver was configured for the same template engine.

- Fixed ClassCastException executing #{...} expressions in XML and VALIDXML template modes, because of a wrong construction of parsable code fragments (NestableNode was expected where there was a Text).

- Updated OGNL dependency to 3.0.5 and javassist dependency to 3.16.1-GA.

- Created org.thymeleaf.util.ClassLoaderUtils with utility methods for obtaining a valid class loader to operate with, using priority order 1. Thread context class loader, 2. Current class class loader, 3. System class loader.

- Substituted all Thread.currentThread().getContextClassLoader() calls with calls to ClassLoaderUtils in order to avoid NullPointerExceptions when the context or current class loaders are null.

- Modified org.thymeleaf.standard.expression.OgnlExpressionEvaluator so that it applies a fix on OGNL's expression processor. This fix makes OGNL evaluate Strings as booleans in a way consistent with that of Thymeleaf ('false', 'off' and 'no' are considered "false" in Thymeleaf expressions, but OGNL evaluates them as "true"). This fix does not affect Spring EL, as it already evaluates those values in the same way as Thymeleaf.

- Fixed null-safety in "isEmpty" methods in #arrays, #lists, #maps and #sets.

- Fixed th:each so that a null iterable equals no-iteration instead of 1 iteration of a null object. This imitates the behaviour of JSTL's <c:forEach>

- Added logging of exceptions when resolving resources at UrlResourceResolver and FileResourceResolver.


(no changes)