⭐ New Features
- Prevent WebSocket buffer overflow through application-level flow control [SPR-16089] #20638
- SchedulingConfigurer and JmsListenerConfigurer should respect
@Order
[SPR-16090] #20639 - Avoid temporary String creation in StringUtils.starts/endsWithIgnoreCase [SPR-16095] #20644
- Make JpaVendorAdapters JTA-aware (in particular for Hibernate 5.1/5.2) [SPR-16162] #20710
- Reduce access on headers for STOMP messaging [SPR-16165] #20713
- spring-jdbc : Improve memory allocations when substituting named parameters. [SPR-16170] #20718
🪲 Bug Fixes
- Checkbox/RadioButton incorrectly converts collections of enums with a custom converter [SPR-16082] #20631
@ModelAttribute
binding defined globally for particular attribute rather than per method invocation [SPR-16083] #20632- WebSphereUowTransactionManager swallows original exception when commit fails for another reason [SPR-16102] #20650
- Incorrectly identify bridged method on interface [SPR-16103] #20651
- PathMatchingResourcePatternResolver returns duplicate resources when using classpath* prefix [SPR-16117] #20665
- SpEL method invocation with varargs on proxy [SPR-16122] #20670
- AbstractRequestExpectationManager fails with "Expectations already declared" when ResponseCreator.createResponse throws an exception [SPR-16132] #20680
- MockHttpServletRequest with Host: set builds wrong getRequestURL() [SPR-16138] #20686
- ClassPathResource.createRelative is using wrong ClassPathResource constructor for the returned resource [SPR-16146] #20694
- Early ApplicationContext close call may lead to ApplicationEventMulticaster/LifecycleProcessor access exception [SPR-16149] #20697
- When using NamedParameterJdbcTemplate, NVARCHAR or NCLOB(4000 characters or less) columns are not properly populated since StatementCreatorUtils does setString for these types instead of setNString. [SPR-16154] #20702
- MockHttpServletResponse.getDateHeader fails with NPE for non-existing header [SPR-16160] #20708
- NumberFormatException caused by property paths from JSR-303 based validation with no index into a collection [SPR-16177] #20725
- Wrong byte code for compiled SpEL when JDK proxy method invocation is used [SPR-16191] #20739
- DefaultResponseErrorHandler.hasError doesn't tolerate unknown status codes [SPR-16108] #20656
- setArguments(null) on MethodInvoker no longer coerces null to Object[0] [SPR-16075] #20624
- RequestMapping method returning Future with null result causes NullPointerException [SPR-16072] #20621
- WebAsyncManager concurrency issue with SseEmitter when client disconnect [SPR-16058] #20607