⭐ New Features
@Lazy
collection of optional elements should not crash when no candidates are found [SPR-15858] #20413- WebAsyncManager should cancel task thread on timeout [SPR-15852] #20407
- Consistent logging in Environment and PropertySource implementations [SPR-15825] #20380
🪲 Bug Fixes
- StompDecoder Logs Null Session IDs for Heartbeats [SPR-15937] #20491
- Error on type argument constraint validation failure [SPR-15916] #20470
- StringIndexOutOfBoundsException from RestTemplate.doExecute IOException handler when query string is empty [SPR-15900] #20454
- SimpleAsyncTaskExecutor not respect ConcurrencyThrottleSupport.NO_CONCURRENCY limit [SPR-15895] #20449
- Should call getNativeResponse() instead of getNativeRequest() in FrameworkServlet [SPR-15867] #20422
- Unable to use Hibernate Validator 4.3.2 if Bean Validation API 1.1 is on the classpath [SPR-15856] #20411
- SimpleApplicationEventMulticaster does not deal with lambda-defined listeners when ErrorHandler is set [SPR-15838] #20393
- spring-aspects should remain on AspectJ 1.8.9 by default (since aspectjrt 1.8.10 requires Java 7+) [SPR-15836] #20391
- Parameter values are null when making a PUT request [SPR-15828] #20383
- Follow-up: AbstractMethodError when calling validated method of MethodValidationPostProcessor is using a
@Lazy
validator [SPR-15807] #20362 - Logs fill with broken pipe when using SockJS [SPR-15802] #20357
- Invalid WARN when returning a BeanDefinitionRegistryPostProcessor from within a
@Configuration
class [SPR-14603] #19172