⭐ New Features
- Ignore (Auto)Closeable for interface-based proxy decision [SPR-15779] #20334
- Bean factory method collision with configuration class name gives unclear error message [SPR-15775] #20330
- CustomizableTraceInterceptor should allow INVOCATION_TIME placeholder in setExceptionMessage and make stack trace logging configurable [SPR-15763] #20318
- LinkedCaseInsensitiveMap cannot access locale from subclass [SPR-15752] #20307
- ForwardedHeaderFilter should expose option for not converting relative redirects to absolute ones [SPR-15717] #20273
- AbstractValueAdaptingCache does not allow for flexible null value serialization [SPR-15693] #20252
- Fine-tune HTTP/RMI Invoker exception handling [SPR-15684] #20243
- Support CachingHttpAsyncClient from httpasyncclient-cache in HttpComponentsAsyncClientHttpRequestFactory [SPR-15664] #20223
- Cron expression validation method in CronSequenceGenerator improved [SPR-15604] #20163
- Upgrade to Objenesis 2.6 for Google App Engine Standard on Java 8 and for better JDK 9 support [SPR-15600] #20159
🪲 Bug Fixes
- UriUtils.extractFileExtension() does not properly handle all fragments [SPR-15786] #20341
- PropertyOrFieldReference invalidly reuses cached PropertyAccessor [SPR-15769] #20324
- ClassCastException during deserialization of ScopedObject [SPR-15766] #20321
- AbstractJackson2HttpMessageConverter throws exception if log level is ERROR [SPR-15760] #20315
- ReflectionTestUtils accidentally requires spring-aop on the classpath [SPR-15757] #20312
- MockMvc duplicates PUT Parameter value [SPR-15753] #20308
- JSP tags doesn't pick up JSTL-defined time zone at page level [SPR-15746] #20302
- JMS Integration with Tibco causes deadlock while using DefaultMessageListenerContainer [SPR-15738] #20294
- Memory Leak due to not pruning factoryBeanObjectCache when closing the ApplicationContext [SPR-15722] #20278
- WebAsyncManager is not compatible with the crosscontext mode [SPR-15709] #20266
- Netty4ClientHttpRequest does not include port along with host [SPR-15706] #20263
@EventListener
's 'condition' doesn't work as expected with proxied beans [SPR-15678] #20237- SimpleRequestExpectationManager fails with sequential calls with different count [SPR-15672] #20231