Dear Spring community,
It is my pleasure to announce that a feature-complete Spring Framework 5.1 release candidate is available from our milestone repository now! Find a comprehensive list of new features and refinements and corresponding upgrade notes on our GitHub wiki.
Spring Framework 5.1 requires JDK 8 or higher and specifically supports JDK 11 as the next long-term support release. We strongly recommend an upgrade to 5.1 for any applications targeting JDK 11, delivering a warning-free experience on the classpath as well as the module path. Beyond that, initial refinements for GraalVM compatibility made it into this release, automatically adapting to the runtime constraints of native images in core Spring facilities.
Along the lines of 5.0’s functional bean definition theme, the core container provides refined retrieval APIs in 5.1: ObjectProvider, as known from annotation-based injection points, is programmatically accessible through the BeanFactory API and capable of stream access for beans-of-type resolution now. Furthermore, Spring allows for the injection of empty collections into single constructor scenarios when no corresponding target beans have been found.
Spring Framework 5.1 comes with updated web defaults (e.g. for cookies) and a human-friendly debug log experience in web applications. The Spring WebFlux stack is based on Reactor Californium now. Spring also embraces the recently released Hibernate ORM 5.3, integrating with its bean container SPI, and allows for mixing native Hibernate SessionFactory and standard JPA EntityManagerFactory access within the same transaction.
We are working towards 5.1 RC2 with fine-tuning and performance improvements in August, preparing for 5.1’s general availability in mid September. And as of next week’s Spring Boot 2.1 M1 release, you’ll be able to consume Spring Framework 5.1 RCs through start.spring.io!