Thymeleaf 3.0.7 (3.0.7.RELEASE) has been just published.
This is a maintenance release with some bugfixing and minor changes, and should work as a drop-in replacement for 3.0.x versions. Have a look at our Download Page to learn how to obtain it.
THYMELEAF 3.0.7 CHANGE LOG
Changes to the Thymeleaf CORE:
Improved escaping of attributes in XML template mode: \t, \n and \r now being always escaped in order to prevent them being normalised into white spaces by XML parsers when reading (which would be according to the spec).
Improved #numbers.sequence(...) behaviour so that zero-element sequences are now returned when it is not possible to get from the initial to the final values using the specified step (was returning an error).
Updated Unbescape dependency to 1.1.5.RELEASE.
Changes to the Thymeleaf SPRING integration packages:
[thymeleaf-spring5] Fixed exception being thrown when more than one ConversionService is available at the Spring WebFlux application context (e.g. in scenarios where Spring Cloud Stream is present).
If you are interested, you can have a look at the list of issues on GitHub:
CHANGES TO THE SPRING 5 INTEGRATION MODULE (Web MVC and WebFlux)
With this new version of Thymeleaf, a new version of the thymeleaf-spring5 integration module has been published too: 3.0.7.RC1. Note this version is not considered stable yet (no ".RELEASE") because it depends on Spring 5, which is still in release candidate development phase. This new version builds against (and has been tested with) Spring 5.0.0.RC3.
How does Thymeleaf operate in a reactive-friendly way for Spring 5 WebFlux?
Like previous versions, this new version of the Spring 5 integration module includes updated support for the new Spring 5 WebFlux reactive web framework. When used with WebFlux, Thymeleaf can operate in one of three reactive-friendly modes:
Full, producing all output in memory and sending it as a single output buffer.
Chunked, producing output in buffers (chunks) of a configurable maximum size.
Data-Driven, making Thymeleaf work as an integrated part of a stream of data, which it renders into HTML in a way fully sensible to reactive back-pressure.
Also, note that there are three sandbox applications prepared to serve as examples of the general thymeleaf-spring5 integration with Spring 5 WebFlux:
thymeleafsandbox-stsm-reactive, equivalent to the STSM sample application but using Spring 5, Spring Boot 2.0 and the new Spring WebFlux framework. This sandbox is mainly meant to test form binding.
thymeleafsandbox-biglist-reactive, using Spring 5, Spring Boot 2.0 and the new Spring WebFlux framework. This sandbox is meant to test the rendering of large amounts of data.
thymeleafsandbox-sse-webflux, using Spring 5, Spring Boot 2.0 and the new Spring WebFlux framework. This sandbox is meant to test the rendering of Server-Sent Events (SSE) directly in HTML (no need for JSON parsing at the browser).