Dear Spring community,
On behalf of the development team, it is my pleasure to announce that a feature-complete Spring Framework 5.3 release candidate is available from our milestone repository now! Check out the list of new features and upgrade notes on our GitHub wiki, including several deprecation notes.
As the last feature branch of the 5.x generation, we are preparing the 5.3.x line for general availability in late October - with an extended maintenance phase up until 2024. While we strongly encourage appropriate migration steps, all of our deprecated packages are going to remain in place for the entire 5.3.x phase. In terms of Java platform support, the current range is JDK 8-15 but we expect this to grow into JDK 8-17 for our Spring Framework 5.3.x releases next year.
Spring supports Java 14/15 records and similar record-style classes now, as a refined variant of constructor-based binding. Spring’s core container includes refinements for native application deployment and performance optimizations in terms of data structures and concurrent access.
This release brings a new
spring-r2dbc module with core R2DBC support, including a reactive
R2dbcTransactionManager as well as a reactive
DatabaseClient. Its sister module
spring-jdbc features a new
JdbcTransactionManager (with extended data access exception translation), as well as a
DataClassRowMapper with constructor-based result binding support (covering Java records) and new
queryForStream methods (for lazy result iteration) on our good old
In the web framework, we provide a JSON option with Kotlin multiplatform serialization now.
WebTestClient allows for performing requests against MockMvc, as a single test client API for mock versus live tests. WebFlux comes with a fully reactive message reader for multipart requests.
Please give Spring Framework 5.3 RC1 a try, e.g. as part of the upcoming Spring Boot 2.4 M3 release which will be available on start.spring.io soon, and let us know about any regressions etc.